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

MySQL ทริกเกอร์ให้แทรกแถวลงในตารางอื่น?


ให้เราสร้างตารางก่อน คำสั่ง CREATE ใช้สำหรับสร้างตาราง

mysql> สร้างตาราง Table1 -> ( -> id int, -> name varchar(100) -> );Query OK, 0 แถวได้รับผลกระทบ (0.62 วินาที)

ให้เราสร้างตารางใหม่

mysql> สร้างตาราง Table2 -> ( -> id int, -> name varchar(100) -> );Query OK, 0 แถวได้รับผลกระทบ (0.49 วินาที)

ต่อไปนี้เป็นวิธีสร้างทริกเกอร์

mysql> ตัวคั่น #mysql> สร้างทริกเกอร์ Table1Trigger หลังจากแทรกใน Table1 -> สำหรับแต่ละแถว -> เริ่ม -> แทรกลงในค่า Table2(id, name) (new.id, new.name); -> end#Query OK, 0 แถวได้รับผลกระทบ (0.29 วินาที)mysql> ตัวคั่น;

ในการสร้างทริกเกอร์ เราต้องเปลี่ยนตัวคั่น

การแทรกแถวลงใน Table1 จะเปิดใช้งานทริกเกอร์และแทรกระเบียนลงใน Table2 เพื่อแทรกบันทึกใน Table1.

mysql> แทรกลงในค่า Table1 (1,'John'),(2,'Smith'),(3,'Carol');Query OK, 3 แถวได้รับผลกระทบ (0.28 วินาที)ระเบียน:3 รายการซ้ำ:0 คำเตือน :0

เพื่อตรวจสอบว่ามีการแทรกระเบียนในทั้งสองตารางหรือไม่

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

นี่คือผลลัพธ์ที่แสดงบันทึกที่แทรกสำเร็จใน Table1

<ก่อนหน้า>+------+-------+| id | ชื่อ |+------+-------+| 1 | จอห์น || 2 | สมิธ || 3 | Carol |+------+-------+3 แถวในชุด (0.00 วินาที)

เพื่อตรวจสอบตารางที่สอง

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงบันทึกที่แทรกสำเร็จใน Table2

<ก่อนหน้า>+------+-------+| id | ชื่อ |+------+-------+| 1 | จอห์น || 2 | สมิธ || 3 | Carol |+------+-------+3 แถวในชุด (0.00 วินาที)