意外将值导入到设置为自动递增的id列。重复很多,尝试将这些ID重置为表的自动增量值:
update tableccc set id=(SELECT AUTO_INCREMENT
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = "mydb"
AND TABLE_NAME = "tableccc") where id<1700
但现在每个ID的值都相同
答案 0 :(得分:0)
首先以这种方式将最大ID保存在var中,您将避免重复记录
SET @id=(SELECT MAX(id) FROM tableccc );
然后更新所有ID为146293(重复ID)的记录
UPDATE tableccc SET id=(@id:=@id+1) WHERE id =146293 ;
最终更新“ tableccc”的自动增量
UPDATE information_schema.TABLES
SET AUTO_INCREMENT = (SELECT MAX(id) FROM tableccc )
WHERE
TABLE_SCHEMA = "mydb"
AND TABLE_NAME = 'tableccc';