gpt4 book ai didi

mysql - 在MySQL中定义默认日期值,类似于时间戳

转载 作者:行者123 更新时间:2023-11-29 01:48:10 25 4
gpt4 key购买 nike

我使用的是 MySQL(没有人是完美的)4.1 版,我习惯于定义一些时间戳列:

ALTER TABLE foo ADD creation TIMESTAMP DEFAULT NOW() ;

我想做完全相同的事情,但对于 DATE 字段。原因是我不需要 TIMESTAMP 精度,并且由于 MySQL 中不存在功能索引,所以我无法快速访问具有给定日期的行(无论一天中的什么时间)。所以我尝试了以下但它不起作用:

ALTER TABLE foo ADD creation_date DATE DEFAULT CURDATE() ;
ERROR 1067 (42000): Invalid default value for 'creation_date'

甚至

ALTER TABLE foo ADD creation_date DATE DEFAULT DATE(NOW()) ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(now())' at line 1

这也行不通。

有什么想法吗?

最佳答案

在 MySQL 中,默认值必须是常量。不允许使用函数或表达式。

异常(exception)是 TIMESTAMP 类型,CURRENT_TIMESTAMP 是一个有效的非常量默认值。

See 4.1 manual: Data Type Default Values

关于mysql - 在MySQL中定义默认日期值,类似于时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com