mysql - 我的触发器在 MySQL 中不起作用

标签 mysql triggers

我想在 MySQL 中创建触发器,但是当我运行创建代码时它显示错误消息:

CREATE TRIGGER before_employee_update 
    BEFORE UPDATE ON trigger
    FOR EACH ROW BEGIN

    update users
    SET username= 'krishna',
        password= 'abc';
END

错误是:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trigger FOR EACH ROW BEGIN INSERT INTO users SET username= 'kr' at line 2

这是错误指向的代码:

BEFORE UPDATE ON trigger
                 ^^^^^^^

最佳答案

TRIGGER是MySQL中的保留字,你应该引用这个名字 -

CREATE TRIGGER before_employee_update
  BEFORE UPDATE
  ON `trigger`
  FOR EACH ROW
BEGIN
  UPDATE users SET username = 'krishna', password = 'abc';
END

作为解决方法 - 重命名表触发器

关于mysql - 我的触发器在 MySQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16851998/

相关文章:

PHP MySQL 连接

MYSQL尝试从最大值获取其他属性

mysql - 根据一列的值选择多列

php - 如何在标题中允许图标?

SQL Server触发器和sqlalchemy干扰问题。需要帮助

MySQL - 触发触发器时重复 PK,但直接插入记录时不重复 PK

javascript - 隐藏特定时间的YouTube API元素

mysql - 如何为每个 MySQL 记录添加额外的单词

azure 数据工厂 - 检测日志分析中的触发器更改

c# - 设置 DataGrid 行的背景颜色