สำหรับสิ่งนี้ ไวยากรณ์จะเป็นดังนี้ −
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 วินาที)