reset autoincrement primary key sql, mysql
本问题已经有最佳答案,请猛点这里访问。
我有这个表有1000行的帖子,其中id_post是主键设置为
旧
1 2 3 4 5 | id_post | post 1 hi1 2 hi2 ... 1000 hi1000 |
我删除了从301到1000的行。所以我现在有一个从1到300的行列表。
新
1 2 3 4 5 | id_post | post 1 hi1 2 hi2 ... 300 hi300 |
问题
当尝试添加新行时,
首先,我会留下差距。 如果你真的想要改变它,你可以使用:
1 2 3 | ALTER TABLE post AUTO_INCREMENT = 300; -- around 700 insterts ALTER TABLE post AUTO_INCREMENT = ?; -- where ? is max value of id_post |
您可以截断该表以重置您的标识列。 像这样:
或者您可以使用CHECKIDENT命令:
1 | DBCC CHECKIDENT('table', RESEED, 0) |