java.sql.SQLException Field 'id' doesn't have a default value

1、错误描述

在做一个电商网站项目时,使用 Mybatis + MySQL 时出现问题 Caused by: java.sql.SQLException: Field 'id' doesn't have a default value ,网上很多人说是 MyBatis 插入数据行 ID 没生成自增。但是我尝试好久,没解决该问题。

2、错误原因

后来才发现是因为创建数据库时的建表语句中的 id 是主键的,但是在插入的过程中,没有给予数值,并且没有让 id 自增。

3、解决办法

修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时)。

(我是直接将整个数据库都导出来,然后在每个表的 id 后面加上一个 auto_increment), 如下 :

1
2
3
4
5
6
7
8
9
10
CREATE TABLE `d_user` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(45) DEFAULT NULL,
`password` varchar(45) DEFAULT NULL,
`zip` varchar(45) DEFAULT NULL,
`address` varchar(45) DEFAULT NULL,
`phone` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
)

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录