【发布时间】:2012-03-24 13:18:32
【问题描述】:
更新:
DELIMITER $$
CREATE TRIGGER updateWage BEFORE UPDATE ON st_penalty
FOR EACH ROW BEGIN
IF DAY({fw NOW( ) } ) = 1 THEN
UPDATE st_penalty SET st_penalty.wage = (SELECT wage FROM staff WHERE staff.memId = st_penalty.memId);
END IF;
END$$
错误是 #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 6 行的 '' 附近使用的正确语法。
【问题讨论】:
-
尝试使用 day(NOW()) = 1 而不是 fwNOW()
-
没有区别。错误出现在“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'WHEN (DAY(NOW()) =1) ON st_penalty FOR EACH 附近使用的正确语法ROW BEGIN UPDATE st_penalty SE' 在第 2 行"
-
我看不出为什么触发器应该给出 #1064 错误?