mysql 插入数据出错1062 Duplicate entry '28' for key 'PRIMARY' 我在表中指定的位置(id=5处,id自动增长,主键)插入新行,需要将指定位置之后(id>=5)的id修改之后,在执行插入操作,这个过程完成之后,我在插入一行记录(不是指定位置,末尾添加),这是mysql报错1062 Duplicate entry '28' for key 'PRIMARY',我知道之前的ID已经修改了,但是为什么后面插入的行ID怎么会冲突呢(应该也会自增的呀),实在想不明白,请高手支招 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如说:以下表test有a,b两个字段,其中a字段是auto_increment,primary keya b1 我2 非3 常4 爱5 你如果现在我有一条数据 要插入a b2 真的想插在第一行的下边,而原来的第二行的编号也依次向下移动变成3,4,5,6就是以下效果a b1 我2 真的3 非4 常5 爱6 你上面这个过程是这样实现的:update test set a=a+1 where a>=2;insert into test values (2,'真的');ok ,没有问题,插入成功,但是我现在要这样插入数据:insert into test(b)value("你知道吗?")想要的效果是:a b1 我2 真的3 非4 常5 爱6 你7 你知道吗?//这行数据不能插入这时出问题了,报错:SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '6' for key 'PRIMARY',就这样的问题,实在不知道怎么办了 我是楼主修改a的过程是逆序的:update test set a=a+1 where a>=2 order by a desc;insert into test values (2,'真的'); 你怎么修改的是 alter table tbname auto_increment=xxx这样修改的吗 你怎么修改的是 alter table tbname auto_increment=xxx这样修改的吗 使用的存储引擎是InnodB 我把存储引擎换成myisam之后,上面所有的操作都没有问题了 这个没办法,你的update test set a=a+1 where a>=2 order by a desc;操作中MYSQL显然没有去更新AUTO——INCREMENT的计数器。 可以算是个BUG。 你可以报告一下这个BUG》 MySQL中引擎InnoDB与MyIASM区别 请教一条SQL写法 mysql数据库的查询,大手们进来帮帮我啊。。困扰好几天了。 如何在MySQL表里插入新行? 请问mysql下查看数据库连接数的命令 求助:现在有表A,表B,2个表都有字段id,请用左联方法写出一句sql,从2个表中找出id相等的纪录 大家帮帮忙,这个问题怎么解决 初学者求救:建立MySQL+PHP的应用 默认隔离级别下update后面跟where是否能保证条件成立呢 紧急求助:MySQL误操作,求恢复!!! MYSQL数据库拷贝问题 主题:一道淘宝的考察sql语句的面试题
1 我
2 非
3 常
4 爱
5 你如果现在我有一条数据 要插入
a b
2 真的想插在第一行的下边,而原来的第二行的编号也依次向下移动变成3,4,5,6就是以下效果a b
1 我
2 真的
3 非
4 常
5 爱
6 你
上面这个过程是这样实现的:
update test set a=a+1 where a>=2;
insert into test values (2,'真的');
ok ,没有问题,插入成功,
但是我现在要这样插入数据:insert into test(b)value("你知道吗?")
想要的效果是:
a b
1 我
2 真的
3 非
4 常
5 爱
6 你
7 你知道吗?//这行数据不能插入
这时出问题了,报错:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '6' for key 'PRIMARY',就这样的问题,实在不知道怎么办了
修改a的过程是逆序的:
update test set a=a+1 where a>=2 order by a desc;
insert into test values (2,'真的');