可以将MySQL 5.7中DATE( NOT DATETIME )列的默认值设置为当前日期吗?
我试试这个(由Workbench生成):
ALTER TABLE `db`.`table` CHANGE COLUMN `column` `column` DATE NOT NULL DEFAULT CURDATE() ;
但不适合我。 (表中没有数据)
答案 0 :(得分:8)
这意味着,例如,您无法设置日期的默认值 column是函数的值,例如NOW()或CURRENT_DATE。 例外情况是您可以将CURRENT_TIMESTAMP指定为默认值 对于TIMESTAMP和DATETIME列。请参见第12.3.5节“自动 TIMESTAMP和DATETIME的初始化和更新“。
您可以执行以下操作之一:
DATETIME
默认值的列。创建将日期提取为单独列的视图。insert
触发器以设置date
列。答案 1 :(得分:0)
如果您有另一列具有例如默认值为NOW()的datetime字段,则有一种方法可以执行此操作。 See this post: