mysql插入错误:1110-Column ‘id‘ specified twice和1064-you can‘t set value for Autoincrement column
现象在使用insert或replace插入数据时,出现异常。INSERT INTO `lizz`.`user` (`id`,`name`) values(1,'lizz')异常:replace语句异常1110 - Column 'id' specified twiceinsert语句异常:1064 - In insert Syntax, you can't set value for Autoin
·
现象
在使用insert或replace插入数据时,出现异常。
INSERT INTO `lizz`.`user` (`id`,`name`) values(1,'lizz')
异常:
replace语句异常
1110 - Column 'id' specified twice
insert语句异常:
1064 - In insert Syntax, you can't set value for Autoincrement column!
原因分析
- 1110错误提示原因为id字段重复了2次,但是语句中没有2个id。
- 1064错误提示为不能设置自动递增字段
分析id字段可知,因为表中id字段为自增字段,mysql在解析sql语句没啥没有把`id`当成id字段,因此自动填充了id字段,然后再解析sql字段时有将`id`当成id插入了,因此出现了2次id插入。
解决方案
将sql中的字段名不要加单引号即可。
INSERT INTO `lizz`.`user` (id,name) values(1,'lizz')
因为部分场景中为了防止有些表中的字段名为关键字,因此特意增加了单引号进行区分,导致了该类问题。因此在创建字段时尽量避免使用关键字为字段名。
更多推荐
已为社区贡献20条内容
所有评论(0)