记录下在MYSQL中对刚刚insert的数据进行修改遇见的错误。
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。
最终脚本为:
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 ;
记录下此问题便于以后。。。