php - 创建简单的 MySQL 更新触发器时出现问题

标签 php mysql database triggers

(编辑:对时髦的格式表示歉意。SO 没有格式化我的代码。)

我觉得自己很蠢,但我为此绞尽脑汁的时间比我承认的还要长。

我需要一个触发器,当对 menu_button 进行任何更新时,它会将 soa_config 中的字段更新为更新的日期时间(parameterValue 是一个 Varchar)。我尝试过像设置 parameterValue='1' 一样简单,也没有骰子。单独运行更新和触发器,无需任何操作,并且两者都有效。正是这两者的结合才使得事情变得困难。我收到错误

“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行‘END’附近使用的正确语法”。

    delimiter |
    CREATE TRIGGER imatrigger AFTER UPDATE on `menu_button`
    FOR EACH ROW
    BEGIN
    UPDATE soa_config 
    SET parameter_value = 'CURRENT_TIMESTAMP'
    WHERE parameter_name = last_menu_update_itme

    END
    |
    delimiter ;

我看过: Quick MySQL Trigger Update

Trouble in creating Trigger in MySQL

MYSQL trigger trouble

sql creating a trigger on update

以及更多谷歌搜索。

最佳答案

WHERE 子句之后和 END 语句之前需要一个语句分隔符

即这里应该有一个分号:WHEREparameter_name=last_menu_update_itme;<----

关于php - 创建简单的 MySQL 更新触发器时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495898/

相关文章:

c# - 如何到达这一阶段 :

javascript - 提交后PHP防止页面刷新/加载

php - 针对 3 种不同用户类型的数据库设计指南

mysql - 查询帮助;我需要一个子查询吗?

mysql在where子句中使用逻辑+组函数的无效使用

php - 在mysql数据库中将文本保存为pre

php - 根据从链接传递的变量执行 mysql 更新?

php - MySql php 获取和插入语法错误

mongodb - 如何替换 MongoDB 文档中数组的所有元素?

sql-server - 内存优化数据库和表变量