mysql - 使用触发器自动更新/填充 MySQL 中的 DATETIME 列

标签 mysql datetime triggers

我正在尝试自动更新/填充数据库中的日期时间列。

我当前正在运行:

MYSQL服务器:5.1.56-log MySQL客户端版本:mysqlnd 5.0.10

我根据文档创建了两个触发器 ( http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html ):

插入触发器:

create trigger 'games_insert'
before insert
on games for each row

begin
set new.created = NOW();
set new.modified = NOW();
end;

修改触发器

create trigger 'games_update'
before update
on games for each row

begin
set new.modified = NOW();
end;

两者似乎都是有效的,因为您只能在更新/插入之前修改新行。 AFTER 会产生更多错误。

但是,我不断收到以下语法错误,但我不确定原因:

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 ''games_insert' before insert on games for each row begin set new.created =' at line 1

我通过 phpmyadmin 与 sql 服务器交互,并将分隔符设置为 $$

最佳答案

不要在触发器名称中使用“'” 创建触发器“games_insert”(X) 创建触发器 games_insert (O)

关于mysql - 使用触发器自动更新/填充 MySQL 中的 DATETIME 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924323/

相关文章:

sql - MySQL 连接不返回行

oracle - 我可以复制 :OLD and :NEW pseudo-records in/to an Oracle stored procedure?

mysql - SQL 搜索错误 : Every derived table must have its own alias

php - 从数据库中获取数据并在php中的邮件功能中使用

php - 警告:mysqli_fetch_assoc()期望参数1为mysqli_result,在第47行的C:\xampp\htdocs\sms\resultprocessing.php中给出的 bool 值

c# - 获取两次之间的时间,时间跨度为一小时

java - 将 String 解析为 LocalDateTime 时出现 DateTimeParseException

datetime - 比较状况下的日期 [Vega-Lite]

java - 数据库中多个表的审计历史

postgresql - 触发器有时会因重复键错误而失败