delimiter //
create trigger logsupdate before update on users
for each row
begin
if new.pJailed <> old.pJailed then
set new.jailtime = now();
if new.pVIP <> old.pVIP then
set new.TM2 = now();
if new.pAdminLevel <> old.pAdminLevel then
set new.TM3 = now();
end if;
end;//
delimiter ;
为什么这个不行?我试图从前面的问题中得出一个答案,但在这里它给了我错误。
mysql错误
create trigger logsupdate before update on users
for each row
begin
if new.pJailed <> old.pJailed then
set new.jailtime = now();
if new.pVIP <> old.pVIP then
set new.TM2 = now();
if new.pAdminLevel <> old.pAdminLevel then
set new.TM3 = now();
end if;
end;
MySQL says: DOCUMENTATION
# 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 11
1条答案
按热度按时间falq053o1#
你错过了几个
end if;
. 此外,在中不需要分号end;//
. 我还添加了一个Drop Trigger If Exists
子句以避免错误,以防已存在同名的重复触发器。以下是更正的触发器(基于op的评论):