我想在“ jailtime”行添加时间戳。该时间戳将是“ pjailed”行被更新的时间戳。
我尝试做休闲运动:
https://dba.stackexchange.com/questions/45470/get-the-time-of-last-update-of-a-column
但是我不想创建表,而是想更改现有表,所以我去了
ALTER TABLE `users`
CHANGE `jailtime` `jailtime` TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP NULL
DEFAULT 'updated_at pJailed';
但是它给我错误“ pJailed的值无效”
答案 0 :(得分:0)
如果某行的pJailed
的值被更新,则整行将收到更新。因此,在ON UPDATE CURRENT_TIMESTAMP
上使用DEFAULT CURRENT_TIMESTAMP
(和jailtime
)就足够了。
您可以使用以下方法更改列jailtime
以反映此情况:
ALTER TABLE your_table
MODIFY COLUMN jailtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
编辑:their comment中提到的OP jailtime
仅应在属性pJailed
更新时更新。为此,应使用here中所述的触发器。