我看了这个article,但它似乎不适用于删除。试图创建触发器,当我得到这个错误:如何编写触发器以中止MYSQL中的删除?
Executing SQL script in server
ERROR: Error 1363: There is no NEW row in on DELETE trigger
CREATE TRIGGER DeviceCatalog_PreventDeletion
BEFORE DELETE on DeviceCatalog
FOR EACH ROW
BEGIN
DECLARE dummy INT;
IF old.id = 1 or old.id =2 THEN
SELECT * FROM DeviceCatalog WHERE DeviceCatalog.id=NEW.id;
END IF;
END;
SQL script execution finished: statements: 4 succeeded, 1 failed
NEW.fieldname存在;当你删除没有新的数据库时!该错误是明显的:你不能使用NEW.id因为新的未在DELETE触发 – Marco
允许根据连锁报道的选择statatement应该失败 - 你的SELECT语句读起来就像一个真实的,而不是像'选择到假'从意欲失败的文章中。 – miherrma