Computer >> Máy Tính >  >> Lập trình >> MySQL

Kích hoạt MySQL để chèn hàng vào bảng khác?

Đầu tiên chúng ta hãy tạo một bảng. Lệnh CREATE được sử dụng để tạo bảng.

mysql> create table Table1
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.62 sec)

Bây giờ chúng ta hãy tạo một bảng khác.

mysql> create table Table2
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.49 sec)

Bây giờ, sau đây là cách bạn có thể tạo trình kích hoạt.

mysql> delimiter #
mysql> create trigger Table1Trigger after insert on Table1
   -> for each row
   -> begin
   ->  insert into Table2(id, name) values (new.id, new.name);
   -> end#
Query OK, 0 rows affected (0.29 sec)

mysql> delimiter ;

Để tạo trình kích hoạt, chúng ta cần thay đổi dấu phân cách.

Chèn hàng vào Table1 sẽ kích hoạt trình kích hoạt và chèn các bản ghi vào Table2. Để chèn bản ghi trong Table1.

mysql> insert into Table1 values(1,'John'),(2,'Smith'),(3,'Carol');
Query OK, 3 rows affected (0.28 sec)
Records: 3  Duplicates: 0  Warnings: 0

Để kiểm tra xem các bản ghi có được chèn vào cả hai bảng hay không.

mysql> select *from Table1;

Đây là kết quả hiển thị bản ghi đã được chèn thành công trong Table1.

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | Smith |
|    3 | Carol |
+------+-------+
3 rows in set (0.00 sec)

Để kiểm tra bảng thứ hai.

mysql>  select *from Table2;

Sau đây là kết quả hiển thị bản ghi đã được chèn thành công trong Table2.

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | Smith |
|    3 | Carol |
+------+-------+
3 rows in set (0.00 sec)