我正在尝试使用 phpmyadmin sql 控制台创建下表:
CREATE TABLE dates
(
id int NOT NULL,
id_date datetime NOT NULL DEFAULT CURDATE(),
PRIMARY KEY (id)
)
但是我收到以下错误:
它以红色显示“CURDATE()”,所以我想这就是问题所在。
有人可以帮我吗?
最佳答案
您不能将 CURDATE() 用作默认值。
相反,您可以使用带有 DEFAULT CURRENT_TIMESTAMP 的 TIMESTAMP 列。然后你将不得不忽略它的时间部分。
示例 SQL 代码:
CREATE TABLE dates
(
id int NOT NULL,
id_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
INSERT INTO dates (id) VALUES (1);
SELECT id, DATE(id_date) AS id_date FROM dates;
结果:
id id_date 1 2010-09-12
关于mysql - 默认使用 CURDATE() 时在 mysql 中创建表失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3696778/