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

อัปเดตตาราง MySQL อัตโนมัติเมื่อ INSERT ด้วย Trigger

ใช้ Trigger AFTER INSERT บนตารางหนึ่ง เพื่อแทรก/อัปเดตตารางอีกตารางหนึ่ง

mysql> CREATE TABLE DemoTable1 (
    -> Id INT,
    -> FirstName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.52 sec)
mysql> CREATE TABLE DemoTable2 (
    -> EmployeeId INT,
    -> EmployeeName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.51 sec)

สร้าง Trigger:

mysql> DELIMITER //
mysql> CREATE TRIGGER updateDemoOnInsert
    -> AFTER INSERT ON DemoTable2
    -> FOR EACH ROW BEGIN
    ->   INSERT INTO DemoTable1 VALUES(110, 'Adam');
    -> END
    -> //
Query OK, 0 rows affected (0.14 sec)
mysql> DELIMITER ;
mysql> INSERT INTO DemoTable2 VALUES(101, 'Mike');
Query OK, 1 row affected (0.22 sec)
mysql> SELECT * FROM DemoTable2;
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
|        101 | Mike         |
+------------+--------------+
1 row in set (0.00 sec)
mysql> SELECT * FROM DemoTable1;
+------+-----------+
| Id   | FirstName |
+------+-----------+
|  110 | Adam      |
+------+-----------+
1 row in set (0.00 sec)

การประยุกต์: Audit log, Sync ข้อมูลระหว่างตาราง, คำนวณสรุปอัตโนมัติ