Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ทริกเกอร์ MySQL ในตารางแรกเพื่อแทรกระเบียนในตารางที่สองหรือไม่


สำหรับสิ่งนี้ ไวยากรณ์จะเป็นดังนี้ −

DELIMITER //สร้างทริกเกอร์ yourTriggerName ก่อนแทรก yourTableName1 สำหรับแต่ละแถว เริ่มการแทรกลงในค่า yourTableName2 (yourValue1, yourValue2,...N);end;//DELIMITER;

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1( StudentId int, StudentName varchar(40)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

นี่คือแบบสอบถามเพื่อสร้างตารางที่สอง -

mysql> สร้างตาราง DemoTable2( Id int, Name varchar(40)); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

นี่คือแบบสอบถามสำหรับทริกเกอร์ก่อนแทรก -

mysql> DELIMITER //mysql> สร้างทริกเกอร์ afterinserttrigger ก่อนแทรกบน DemoTable1 สำหรับแต่ละแถวเริ่มการแทรกลงในค่า DemoTable2 (10,'Chris'); end;//Query OK, 0 แถวได้รับผลกระทบ (0.13 วินาที)mysql> DELIMITER;

ให้เราแทรกบันทึกลงในตารางแรก -

mysql> แทรกลงในค่า DemoTable1 (1,'David'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางแรกโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable1;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1 | เดวิด |+----------+-------------+1 แถวในชุด (0.00 วินาที)

ให้เราตรวจสอบบันทึกตารางของตารางที่สอง -

mysql> เลือก *จาก DemoTable2;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 10 | Chris |+------+-------+1 แถวในชุด (0.00 วินาที)