Invalid default value for 'id'
时间: 2024-06-13 17:09:37 浏览: 12
"Invalid default value for 'id'"错误是由于在MySQL建表时,id列的默认值设置不正确导致的。在引用中的建表语句中,id列的默认值设置为0,但是由于id列是主键,因此不能设置默认值。解决方法是将id列的默认值设置为NULL,或者直接删除DEFAULT 0这一段。修改后的建表语句如下所示:
```sql
CREATE TABLE `product`(
`id` INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '编号',
`pName` VARCHAR(20) NOT NULL COMMENT '产品名称',
`shortPrice` FLOAT COMMENT '价格(单位:元)',
`saleNum` INT(10) COMMENT '销售数量' DEFAULT 0
)ENGINE=INNODB CHARSET utf8;
```
相关问题
Invalid default value for 如何解决
"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 的日期/时间格式要求。
Invalid default value for 'live_date
这个错误通常表示在创建表时,live_date 字段的默认值无效。这可能是由于 live_date 字段的数据类型与您提供的默认值类型不匹配,或者您提供的默认值格式与 MySQL 的日期时间格式不匹配。
您可以将 live_date 字段的默认值更改为适当的日期时间格式,例如 '2021-10-01 12:00:00',或者将其更改为 NULL,以便在插入新记录时手动指定日期时间值。您也可以考虑更改 live_date 字段的数据类型,以匹配您提供的默认值类型。
下面是一个示例,其中将 live_date 字段的默认值更改为 NULL:
```
CREATE TABLE live (
id VARCHAR(32) NOT NULL PRIMARY KEY,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,
valid VARCHAR(1) NULL,
version INT NULL,
dormitory_id VARCHAR(32) NOT NULL,
live_date TIMESTAMP NULL,
student_id VARCHAR(32) NOT NULL
);
```
在插入新记录时,您可以手动指定 live_date 值,例如:
```
INSERT INTO live (id, create_time, update_time, valid, version, dormitory_id, live_date, student_id)
VALUES ('1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Y', 1, '1001', '2021-10-01 12:00:00', '10001');
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)