一尘不染

CURRENT_DATE / CURDATE()不能用作默认DATE值

mysql

非常直截了当的问题,我认为这应该可行,但事实并非如此。为什么不呢?

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)

阅读 880

收藏
2020-05-17

共1个答案

一尘不染

因为不支持,所以它不起作用

DEFAULT子句指定列的默认值。除一个例外,默认值必须为常量;它不能是函数或表达式。例如,这意味着您不能将日期列的默认值设置为诸如NOW()或函数的值CURRENT_DATE。唯一的例外是您可以指定列CURRENT_TIMESTAMP的默认值TIMESTAMP

http://dev.mysql.com/doc/refman/5.5/en/create-
table.html

2020-05-17