在MySQL5.6版本里,不支持一个表有多个INSERT/DELETE/UPDATE触发器。
例如创建t1表两个INSERT的触发器:
1
2
3
4
5
6
7
8
9
10
11
|
DELIMITER $$
USE `
test
`$$
DROP TRIGGER /*!50032 IF EXISTS */ `t1_1`$$
CREATE
/*!50017 DEFINER =
'admin'
@
'%'
*/
TRIGGER `t1_1` AFTER INSERT ON `t1`
FOR EACH ROW BEGIN
INSERT INTO t2(
id
,NAME) VALUES(new.
id
,new.name);
END;
$$
DELIMITER ;
|
1
2
3
4
5
6
7
8
9
10
11
|
DELIMITER $$
USE `
test
`$$
DROP TRIGGER /*!50032 IF EXISTS */ `t1_2`$$
CREATE
/*!50017 DEFINER =
'admin'
@
'%'
*/
TRIGGER `t1_2` AFTER INSERT ON `t1`
FOR EACH ROW BEGIN
INSERT INTO t3(
id
,NAME) VALUES(new.
id
,new.name);
END;
$$
DELIMITER ;
|
执行的时候就会报错,如下:
而在MySQL5.7里,已经支持一个表有多个INSERT/DELETE/UPDATE触发器。
参考:
本文转自hcymysql51CTO博客,原文链接:http://blog.51cto.com/hcymysql/1575443 ,如需转载请自行联系原作者