Invalid default value for 如何解决
时间: 2023-12-29 08:03:22 浏览: 141
"Invalid default value for" 是 MySQL 数据库在创建表时出现的错误,通常是因为使用了 MySQL 版本不同导致的。
如果你使用的是 MySQL 5.7 或更高版本,则需要将 sql_mode 设置为不包含 "NO_ZERO_DATE" 和 "NO_ZERO_IN_DATE" 选项。可以在 MySQL 命令行中输入以下命令:
```
SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
```
或者在 my.cnf 文件中添加以下语句:
```
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
```
如果你使用的是 MySQL 5.6 或更早版本,则需要将默认值更改为 NULL 或合法的日期/时间值。例如,将列的默认值更改为 NULL:
```
CREATE TABLE example (
id INT PRIMARY KEY,
create_time TIMESTAMP DEFAULT NULL
);
```
或者将列的默认值更改为合法的日期/时间值:
```
CREATE TABLE example (
id INT PRIMARY KEY,
create_time TIMESTAMP DEFAULT '2021-01-01 00:00:00'
);
```
注意,这里的日期/时间值必须符合 MySQL 的日期/时间格式要求。
阅读全文