尝试创建表,执行查询时出现此错误:
ERROR: 1067 (42000): Invalid default value for 'created_at'
整个命令是这样的:
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
答案 0 :(得分:1)
看起来您正在使用一些低于 5.6.5 的 MySQL 版本。对于 MySQL 5.5 版本,如果要设置默认值,则必须使用“TIMESTAMP”类型,而不是“DATETIME”类型。希望 TIMESTAMP 类型对您来说不是问题。
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);