【问题标题】:Error MySQL Creating TriggerMySQL 创建触发器时出错
【发布时间】:2017-02-09 00:44:43
【问题描述】:

每次我尝试在我的一张表中创建一个 UPDATE 触发器时都会遇到一个奇怪的错误...

触发器:

CREATE TRIGGER upd_data_nascimento BEFORE UPDATE ON pfi_pessoa_fisica
FOR EACH ROW
  BEGIN
     IF OLD.date_of_birth = '0000-00-00' THEN
     SET NEW.date_of_birth = NULL;
     END IF;
  END;

还有错误:

错误 SQL (1064):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 '' 附近使用正确的语法

有什么想法吗?

【问题讨论】:

    标签: mysql triggers


    【解决方案1】:

    确保您使用的是分隔符

    CREATE TRIGGER upd_data_nascimento BEFORE UPDATE ON abc_table
    FOR EACH ROW
      BEGIN
         IF OLD.date_of_birth = '0000-00-00' THEN
            SET NEW.date_of_birth = NULL;
         END IF;
      END
    

    如果您在 PHPMyAdmin 中执行它,则将分隔符设置为 # 或其他内容。然后执行它会很好我已经用上面的代码测试过它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2011-06-27
      • 2013-07-16
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多