MySQL TIMESTAMP字段设置默认值NULL而不是CURRENT_TIMESTAMP
MySQL是广泛用于开发应用程序和管理数据的关系型数据库管理系统。在MySQL中,TIMESTAMP字段通常用于处理日期和时间数据。默认情况下,TIMESTAMP字段设置为CURRENT_TIMESTAMP,这意味着它将自动设置为当前日期和时间。但在某些情况下,我们可能想要将TIMESTAMP字段设置为NULL而不是CURRENT_TIMESTAMP。在本文中,我们将探讨如何将TIMESTAMP字段设置为默认值NULL而不是CURRENT_TIMESTAMP。
阅读更多:MySQL 教程
问题
在MySQL中,创建一个TIMESTAMP字段,默认情况下它的默认值被设置为CURRENT_TIMESTAMP,如下所示:
这将导致在插入新行时,created_at
字段将被自动设置为当前时间。这是非常有用的,但如果你想将created_at
字段的默认值设置为NULL而不是CURRENT_TIMESTAMP,该怎么做呢?继续阅读本文,了解解决方案。
解决方案
解决方案非常简单 – 只需为TIMESTAMP字段指定一个NULL默认值即可。以下示例显示如何更改上面的示例表,使其默认值为NULL,而不是CURRENT_TIMESTAMP。
这样做后,在插入每个新行时,created_at
字段将被设置为NULL,而不是自动生成一个时间戳值。
注意事项
在将TIMESTAMP字段的默认值更改为NULL之后,如果您想在插入新行时设置一个特定的时间戳值,您仍然可以使用INSERT INTO
语句手动设置它的值,如下所示:
总结
在MySQL中,TIMESTAMP字段的默认值默认为CURRENT_TIMESTAMP。如果您希望将其更改为NULL,可以向创建表的语句中添加DEFAULT NULL
选项。这将导致在插入新行时,该字段的值将为NULL,但您仍然可以手动指定一个值。希望这篇文章对您有所帮助,如果您对MySQL和其他数据库问题有任何疑问,请随时前来咨询。