gpt4 book ai didi

MySQL 表触发器正确语法

转载 作者:行者123 更新时间:2023-11-29 10:51:26 25 4
gpt4 key购买 nike

我正在尝试使用 Sequel Pro 将表触发器添加到 MySQL DB。我想要的行为是这样的:

每当更新一个表中的特定列时,我都想在另一个表中记录旧值,以便稍后引用。

我正在使用 GUI 创建表触发器:

行动时间:之前事件:更新

IF NEW.status = "Some String" THEN
INSERT INTO 'my_backup_table' (id, status) VALUES (OLD.id, OLD.status)
END;

我不断收到语法错误:无法创建指定的触发器。

MySQL 说:你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在“my_backup_table”附近使用的正确语法

非常感谢任何帮助!谢谢

最佳答案

您需要进行两项更改:

  1. 表名应该用反引号括起来,例如`我的备份表`
  2. IF 应以 END IF 结尾

下面应该有效:

IF NEW.status = "Some String" THEN
INSERT INTO \`my_backup_table\` (id, status) VALUES (OLD.id, OLD.status)
END IF;

关于MySQL 表触发器正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com