mysql - 解释特定行的mysql时间戳
问题描述
我想在“越狱”时间戳行添加。该时间戳将是“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 的值无效”
解决方案
如果pJailed
更新了一行的值,则整行都会收到更新。所以在 . 上使用ON UPDATE CURRENT_TIMESTAMP
(and DEFAULT CURRENT_TIMESTAMP
)就足够了jailtime
。
您可以使用以下方法更改列jailtime
以反映这一点:
ALTER TABLE your_table
MODIFY COLUMN jailtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
编辑: OP 在他们的评论中提到,只有在更新属性jailtime
时才应该更新属性pJailed
。要完成此操作,应使用此处所述的触发器。
推荐阅读
- gatsby - 如何在一个域中合并 2 个 Gatsby 站点?
- wordpress - Wordpress 产品属性自定义永久链接
- applescript - Automator (2.5) 脚本根据文件名创建文件夹并将文件移动到文件夹
- javascript - Javascript中的超时间隔:如何结束超时
- javascript - 解码 JSON,包括 JavaScript 中 URL 参数的数组
- node.js - 将数据从 Node.js 传递到 Vue.js
- python - Scikit Learn RFECV ValueError:不支持连续
- jquery - How to hide elements in jQuery until after the user starts scrolling
- python - 在python中以自己的方法将类实例作为一个整体传递
- vba - 传递复选框对象