关于重置MySQL的AUTO_INCREMENT列的几个问题。
首先不删除/创建表,或通过TRUNCATE TABLE删除行(请参阅该代码的页脚) - 这是正确的方法吗?
ALTER TABLE [insert_TABLE_name] AUTO_INCREMENT = 1
接下来,将值设置为0
或1
- 为什么?
奖金,任何额外的建议。
答案 0 :(得分:3)
它设置为您在alter table查询中使用的任何内容,在您的情况下为1
。但是,由于您没有删除行,您现在可能已经设置了主键违规,因为您的下一个插入行将尝试使用该1
并与先前创建的具有相同键的行冲突
答案 1 :(得分:1)
您无法将计数器重置为小于或等于任何已使用过的值。
你试图将auto_increment计数器恢复为1,但它已经高于该值,并且由于你无法将其重置为小于已经使用的任何值的值,它不起作用。