DROP TRIGGER t_afterinsert_on_tb1;
CREATE TRIGGER t_afterinsert_on_tb1
AFTER INSERT ON tb1
FOR EACH ROW
BEGIN
UPDATE tb1 SET culom1 = new.culom2;
END;
这样做在insert的时候就会爆出异常。
stored function/trigger because it is already used
MySQL不支持触发器对本表进行操作,防止发生死锁。
解决的办法就是做一张中间表tb2,当tb1 insert触发后,insert到tb2,再添加一个tb2的触发器,当tb2 insert触发后再更新tb1对应的值。
DROP TRIGGER t_afterinsert_on_tb1;
CREATE TRIGGER t_afterinsert_on_tb1
AFTER INSERT ON tb1
FOR EACH ROW
BEGIN
INSERT INTO tb2(colum1)values(new.culom2) ;
END;
DROP TRIGGER t_afterinsert_on_tb2;
CREATE TRIGGER t_afterinsert_on_tb2
AFTER INSERT ON tb2
FOR EACH ROW
BEGIN
UPDATE tb1 SET culom1 = new.culom2;
END;