【问题标题】:create trigger syntax issue migrating mysql from 5.6 to 8创建将 mysql 从 5.6 迁移到 8 的触发器语法问题
【发布时间】:2021-10-14 08:54:29
【问题描述】:
CREATE TRIGGER `set_avatar_null` BEFORE UPDATE ON `mybb_users`
 FOR EACH ROW begin
   if new.uid = -1 then
     Insert Into Log (uid, Page, Params, Time) values (new.uid, 'set_avatar_null',new.avatar,      NOW());
   set new.avatar = '', new.avatardimensions='';
  end if;
end

此语法在 mysql 5.6 中运行良好,但在 8.0 中抛出此异常:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 4 行的 '' 附近使用

【问题讨论】:

标签: mysql


【解决方案1】:

使用DELIMITER 命令更改语句前的分隔符。请参阅db-fiddle。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2015-05-26
    • 1970-01-01
    • 2015-12-02
    • 2013-11-21
    相关资源
    最近更新 更多