记录下在MYSQL中对刚刚insert的数据进行修改遇见的错误。
1
2
3
4
5
6
7
8
9
DROP TRIGGER IF EXISTS TRG_ts_identify_mapping;
delimiter //
CREATE TRIGGER TRG_ts_identify_mapping BEFORE INSERT ON ts_identify_mapping FOR EACH ROW
BEGIN
UPDATE ts_identify_mapping
SET NEW.IS_DELE = '1'
WHERE id = NEW.ID ;
END ;//
delimiter ;
执行脚本正常能通过,但是在执行insert语句之后提示错误:
Can’t update table ‘ts_identify_mapping’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
谷歌度娘后得知原因为对刚刚insert的数据进行修改导致错误。修改字段应该使用set。 最终脚本为:
1
2
3
4
5
6
7
8
DROP TRIGGER
IF EXISTS TRG_ts_identify_mapping;
delimiter //
CREATE TRIGGER TRG_ts_identify_mapping BEFORE INSERT ON ts_identify_mapping FOR EACH ROW
BEGIN
set NEW.IS_DELE = '1';
END;//
delimiter ;
记录下此问题便于以后。。。
近期评论