0

有人能告诉我这个 sql 不起作用吗?语法错误在哪里?

SET NEW.`modified` = CURTIME() WHERE `id` = NEW.id;

错误:

处理您的请求时出现一个或多个错误:以下查询失败:

CREATE DEFINER=`root`@`localhost` TRIGGER `event_name` 
BEFORE UPDATE ON `clients` 
FOR EACH ROW 
SET NEW.`modified` = CURTIME() WHERE `id` = NEW.id;

MySQL 说:#1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以id在第 1 行的“WHERE = NEW.id”附近使用正确的语法

图片显示错误 http://s23.postimg.org/rhsf2x1tn/screenshot.png

4

1 回答 1

3

您不需要where条件来指定要更改的行。

对于要更新的​​每一行,您设置特定的列值。请参阅下面的示例以及引用的参考。

从这里引用/引用:

DELIMITER |
CREATE TRIGGER event_name BEFORE UPDATE ON clients 
FOR EACH ROW 
BEGIN
    SET NEW.date_modify = NOW();
END; 
|
DELIMITER ;
于 2013-09-14T17:26:31.447 回答