MySQL DATE字段,默认为CURDATE()。不是DATETIME
是否可以将MySQL 5.7中DATE( )列上的默认值设置为当前日期?
我尝试使用此方法(由Workbench生成):
ALTER TABLE `db`.`table` CHANGE COLUMN `column` `column` DATE NOT NULL DEFAULT CURDATE() ;
但不适用于我。(表中没有数据)
回答:
你不能。该文档对此非常清楚:
例如,这意味着您不能将日期列的默认值设置为诸如NOW()或CURRENT_DATE之类的函数的值。例外是您可以将CURRENT_TIMESTAMP指定为TIMESTAMP和DATETIME列的默认值。请参见第12.3.5节“
TIMESTAMP和DATETIME的自动初始化和更新”。
您可以执行以下操作之一:
- 为设置一个具有默认值的列
DATETIME
。创建将日期提取为单独列的视图。 - 创建
insert
触发器以设置date
列。
以上是 MySQL DATE字段,默认为CURDATE()。不是DATETIME 的全部内容, 来源链接: utcz.com/qa/435686.html