我目前只是将其插入NOW()数据库中的date字段,效果很好,但是让我想知道,有没有一种方法可以DATETIME在插入数据时自动更新行?
我在某些地方在线找到了应该设置附加功能的地方,ON UPDATE CURRENT_TIMESTAMP但是这样做时,出现以下错误:
An error occurred when trying to change the field 'uploaded' via
ALTER TABLE `uploads` CHANGE `uploaded` `uploaded` DATETIME
NOT NULL
ON UPDATE CURRENT_TIMESTAMP
COMMENT 'Upload Datetime'
Run Code Online (Sandbox Code Playgroud)
MySQL说:
“已上传”列的无效ON UPDATE子句
似乎你的查询是错误的,试试这个对我有用:
ALTER TABLE `uploads` CHANGE `uploaded` `uploaded`
DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)
测试了一下。
这就是我所做的,并且一直有效
create table if not exists my_table (
index1 char(32) not null primary key,
title varchar(50),
my_timestamp timestamp not null default current_timestamp on update current_timestamp
)
Run Code Online (Sandbox Code Playgroud)
这将在插入和更新上带有时间戳,它也是有效的sql,也许您在查询中缺少默认语句?