我有一个id主键和自动增量。是否有任何查询来更新我现有的id并让我id从1和下一个ID 2开始,依此类推。
id
例如
id name 3 ABC 5 XYZ 9 PQR
注意: id已经是主要和自动增量,我不想截断我的id。
如果可能的话我想得到
id name 1 ABC 2 XYZ 3 PQR
ALTER TABLE table AUTO_INCREMENT = 1; 不是我的解决方案。
ALTER TABLE table AUTO_INCREMENT = 1;
谢谢
是否有任何查询来更新我的现有ID,并使我的ID从1开始,下一个ID为2,依此类推
您可以做的就是将表的内容转移到另一个表。重置自动增量计数器,将数据重新插入原始表中,但让MySQL分配主键。
假设您的表名是mytableYou,您可以这样做:
mytable
CREATE TABLE mytable_tmp select * from mytable; TRUNCATE TABLE mytable; ALTER TABLE mytable AUTO_INCREMENT = 1; INSERT INTO mytable(name) SELECT name FROM mytable_tmp ORDER BY id; DROP TABLE mytable_tmp;