我正在使用 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
这也不起作用。
有任何想法吗?