gpt4 book ai didi

mysql - 使用 Curdate() 时出现语法错误

转载 作者:行者123 更新时间:2023-11-29 11:32:56 25 4
gpt4 key购买 nike

我正在尝试创建一个包含一列的表,该列跟踪插入行的时间。

下面的查询工作正常。表的创建已完成,添加数据时我可以在 track_date 列中查看日期和时间。

CREATE TABLE tracker(id int, track_date DATETIME DEFAULT NOW());

假设我现在只需要跟踪日期,所以我现在运行下面的查询,但出现语法错误。

CREATE TABLE tracker_2(id int, track_date DATE DEFAULT CURDATE());

请您指点一下。

最佳答案

MySQL documentation在这一点上是非常清楚的。您可以为 DATETIMETIMESTAMP 列设置默认值,但不能为日期设置默认值:

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 TIMESTAMP and DATETIME columns.

您可以选择在查询列时使用触发器或删除时间组件。

(我应该注意,该声明有点误导,因为 NOW() 可以 用作 DATETIME 的默认值,如问题和文档都需要澄清。该段落特别指的是 DATE 列。)

关于mysql - 使用 Curdate() 时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37100340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com