MySQL时间戳自动更新
我有一个包含几个时间戳字段的表,但我遇到了一些问题,其中一些字段默认为 NULL。
在我的 users 表中,我有这些时间戳表:
(field),(NULL),(default val)
deleted_on YES NULL
last_change_attemp YES NULL
newpass_time YES NULL
last_login YES NULL
created NO 0000-00-00 00:00:00
updates YES NULL
当我在 phpMyAdmin 中编辑一行时,我正在编辑的行已经为所有 NULL 字段(第一个字段除外)选中了 NULL 复选框:*deleted_on *。如果我手动选中该复选框,它允许我将该字段保留为 NULL。
当我通过查询更新另一个字段时,它会自动在第一个字段上执行 current_timestamp 。这是预期的吗?
I have a table which contains a couple timestamp fields and but I'm having some problems having some of the fields defaulting to NULL.
In my users table I have these timestamp tables:
(field),(NULL),(default val)
deleted_on YES NULL
last_change_attemp YES NULL
newpass_time YES NULL
last_login YES NULL
created NO 0000-00-00 00:00:00
updates YES NULL
When I go edit a row in phpMyAdmin, the row I'm editing already has the NULL checkbox checked for all NULL fields, except the first field: *deleted_on*. If I manually check the checkbox, it allows me to maintain that field as NULL.
When I update another field via a query, it automatically does a current_timestamp on that first field. Is this expected?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我再次阅读了文档并注意到了这段文字
http://dev.mysql.com/doc/refman/5.0/en /timestamp.html
所以暂时我将字段默认为 0000-00-00 00:00:00 以防止自动更新。
I've read through the docs again and noticed this piece of text
http://dev.mysql.com/doc/refman/5.0/en/timestamp.html
So for the time being I have the fields default to 0000-00-00 00:00:00 to prevent auto updates.
phpMyAdmin 对时间戳和 null 做了一些奇怪的事情,特别是如果该列被标记为 CURRENT_TIMESTAMP
我不知道为什么。
phpMyAdmin does some weird things with timestamps and null, especially if the column is marked as CURRENT_TIMESTAMP
I don't know why.