首页 > 数据库 > mysql教程 > 为什么'DEFAULT CURRENT_DATE”在 MySQL 中不起作用(什么时候起作用?)

为什么'DEFAULT CURRENT_DATE”在 MySQL 中不起作用(什么时候起作用?)

Barbara Streisand
发布: 2024-12-10 06:19:14
原创
413 人浏览过

Why Doesn't `DEFAULT CURRENT_DATE` Work in MySQL (and When Does It?)

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板