mysql设置了唯一约束之后插入相同数据失败但自增ID还是会+1
答案:2 悬赏:0 手机版
解决时间 2021-02-04 00:54
- 提问者网友:精神病院里
- 2021-02-03 03:19
mysql设置了唯一约束之后插入相同数据失败但自增ID还是会+1,到下一条能插入的数据的时候,ID之间就差了2,怎么解决?
最佳答案
- 五星知识达人网友:不甚了了
- 2021-02-03 03:26
新建一个表d:
drop table if exists d;
create table d(id int primary key auto_increment,num int unique);
向表d插入值:
insert into d(num) values(1);
重复插入后查询:
1 1
2 3
3 4
结论:插入失败自动id不会增长。我使用的是mysql5.0。你可以把你的语句粘贴出来简单描述一下吗?
drop table if exists d;
create table d(id int primary key auto_increment,num int unique);
向表d插入值:
insert into d(num) values(1);
重复插入后查询:
1 1
2 3
3 4
结论:插入失败自动id不会增长。我使用的是mysql5.0。你可以把你的语句粘贴出来简单描述一下吗?
全部回答
- 1楼网友:三千妖杀
- 2021-02-03 03:57
我试了,这个语句要是直接在mysql命令行里执行的话,自增字段id设成空字符串'',也是会报错的。估计php是做了特殊处理,如果判断出是自增字段,就不管实际输入的值了。
用java,应该是没有这种处理吧。不管是jdbc拼sql也好,用框架hibernate或mybatis也好,就不给id字段赋值就好了,是可以成功插入的,就是最终拼出来的sql应该类似,
insert into member(username, ......) values('yourusername',......);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯