MySQL触发器插入行到另一个表?

让我们首先创建一个表。CREATE命令用于创建表。

mysql> create table Table1
   -> (
   -> id int,
   -> name varchar(100)
   -> );

现在让我们创建另一个表。

mysql> create table Table2
   -> (
   -> id int,
   -> name varchar(100)
   -> );

现在,以下是创建触发器的方法。

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#

mysql> delimiter ;

要创建触发器,我们需要更改定界符。

将行插入到Table1中会激活触发器,并将记录插入到Table2中。在表1中插入记录。

mysql> insert into Table1 values(1,'John'),(2,'Smith'),(3,'Carol');
Records: 3  Duplicates: 0  Warnings: 0

检查记录是否同时插入两个表中。

mysql> select *from Table1;

这是显示记录成功插入到表1中的输出。

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

要检查第二张桌子。

mysql>  select *from Table2;

以下是显示在Table2中成功插入记录的输出。

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