-3

我想防止通过触发器更新数据库行 mysql 中的两列,例如我的表是mymy并且它们两列是column1andcolumn2并且行 id 是11。如何在 mysql 触发器中运行它?

在此处输入图像描述

我试了一下:

CREATE TRIGGER 'no_update' BEFORE INSERT ON 'mymy' 
FOR EACH ROW BEFORE UPDATE , then check if NEW.column1 != OLD.column1 OR NEW.column2 != OLD.column2 

我有错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'BEFORE UPDATE 附近使用正确的语法,然后检查 NEW.id_relation != OLD.id_relation OR NEW.active !' 在第 1 行

如何解决?

4

1 回答 1

-1

如果您真的不想更新 column1 和 column2 的值,那么您可以使用触发器将新值设置为旧值,从而永远不要更新它们 - 我相信这就是您正在寻找的。

CREATE TRIGGER test_trigger BEFORE UPDATE ON mymy
FOR EACH ROW BEGIN
  SET NEW.column1 = OLD.column1, NEW.column2 = OLD.column2
END
于 2013-02-20T10:55:36.650 回答