【发布时间】:2013-02-05 05:21:21
【问题描述】:
我想防止通过触发器更新数据库行mysql中的两列,例如我的表是mymy,它们两列是column1和column2,行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 或 NEW.active !在第 1 行
如何解决?
【问题讨论】:
-
正在运行的更新两列的查询是什么?
-
试一试,看看你走了多远。手册中有很多例子。
-
您可以在 UPDATE 之前创建一个触发器,然后检查 NEW.column1 != OLD.column1 OR NEW.column2 != OLD.column2 ,引发应用程序错误,或通知用户
-
@TaylorGomez - 您已经获得了有关如何执行此操作的说明,而不是您可以复制和粘贴的 SQL 代码。该问题表明您对 SQL 和触发器语法有点熟悉。
-
好吧,显然你自己编造的语法“然后检查...”是完全错误的。您不能像与人类一样仅与计算机交谈。在手册中查找正确的语法并重试。
标签: php mysql database phpmyadmin