如何取消触发器内的插入?

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 语句。