有人能告诉我这个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服务器版本对应的手册 在第1行的'WHERE
id
= NEW.id'附近使用的语法
答案 0 :(得分:3)
您不需要where
条件来指定要更改的行。
对于每个要更新的行,您可以设置特定的列值。请参阅下面的示例以及引用的参考。
从here引用/引用:
DELIMITER |
CREATE TRIGGER event_name BEFORE UPDATE ON clients
FOR EACH ROW
BEGIN
SET NEW.date_modify = NOW();
END;
|
DELIMITER ;