如何取消触发器内的插入?
How can I cancel insertion inside the trigger?
在历史记录中table,COL1 不应与 COL2 相同,如果相等则取消插入。
我该怎么做?
对于MySQL 5.7 使用
CREATE TRIGGER prevent_self_referencing
BEFORE INSERT
ON tablename
FOR EACH ROW
BEGIN
IF NEW.column1 = NEW.column2 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Self-referencing not allowed.';
END IF;
END
和 BEFORE UPDATE
的相同触发器。
如图所示 window 仅插入 3 行代码,整个 IF 语句。
在历史记录中table,COL1 不应与 COL2 相同,如果相等则取消插入。
我该怎么做?
对于MySQL 5.7 使用
CREATE TRIGGER prevent_self_referencing
BEFORE INSERT
ON tablename
FOR EACH ROW
BEGIN
IF NEW.column1 = NEW.column2 THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Self-referencing not allowed.';
END IF;
END
和 BEFORE UPDATE
的相同触发器。
如图所示 window 仅插入 3 行代码,整个 IF 语句。