CURRENT_DATE/CURDATE() not working as default DATE value

date, default-value, mysql

Solution

[Edit] As of MySQl 8.0.13 it is supported. See this answer below.

It doesn't work because it's not supported

The `DEFAULT` clause specifies a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as `NOW()` or `CURRENT_DATE`. The exception is that you can specify `CURRENT_TIMESTAMP` as the default for a `TIMESTAMP` column

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

Problem

Pretty straight forward question here, I think this should work but it doesn't. Why doesn't it? ``` CREATE TABLE INVOICE( INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE ) ```

Original source

Related problems