CURRENT_DATE/CURDATE() 作为默认 DATE 值修复
尽管其外观简单,但将 CURRENT_DATE 或 CURDATE() 设置为默认值使用以下语法的 DATE 列可能不会函数:
CREATE TABLE INVOICE( INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE )
原因:
虽然这段代码看起来很直观,但由于 MySQL 的限制,它失败了。根据文档,DEFAULT 子句要求列具有常量值。不允许使用函数或表达式,例如 CURRENT_DATE。
解决方案:
之前,此问题在 8.0.13 之前的 MySQL 版本中持续存在。但是,在 MySQL 8.0.13 及更高版本中,您现在可以使用 CURRENT_DATE() 或 CURDATE() 作为 DATE 列的默认值,从而无需解决方法。
以上是为什么'DEFAULT CURRENT_DATE”在 MySQL 中不起作用(什么时候起作用?)的详细内容。更多信息请关注PHP中文网其他相关文章!