MySQL 触发器将行插入另一个表?
mysqlmysqli database
首先让我们创建一个表。CREATE 命令用于创建表。
mysql> create table Table1 -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.62 sec)
现在让我们创建另一个表。
mysql> create table Table2 -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.49 sec)
现在,以下是如何创建触发器的方法。
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 ;
要创建触发器,我们需要更改分隔符。
将行插入表 1 会激活触发器并将记录插入表 2。在表 1 中插入记录。
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
检查记录是否已插入两个表中。
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)