问题在于,我想要一个触发器来删除新行插入的同一个表中的旧行。
MsSQL
和oracle
可以做到这一点,
但看起来mySQL
不能,
它允许创建触发器,但是当它运行时会产生错误
“无法在存储过程或函数/触发器中更新表”tbl“ 因为它已被statemtent使用,因此调用了这个存储的 程序或功能/触发器“
有什么解决方法吗? 它是否计划在未来的版本中使用?
答案 0 :(得分:0)
我的数据库中包含字段名为GHOST的所有表,因此当GHOST为TRUE时,此行就像DELETED一样。因此,如果您想在插入后更改行,可以使用如下:
CREATE TRIGGER my_trigg
BEFORE INSERT ON table
FOR EACH ROW
BEGIN
SET NEW.ghost = TRUE;
END
$$
DELIMITER ;