具有自动增量的MySQL Update命令

时间:2014-12-14 22:06:51

标签: mysql

我有一个名为users_items的表。在此表中有3列。其中1个被称为id。此表中有100.000 - 150.000个数据。 id设置为AUTO_INCREMENT

我想将所有ID重置为0,然后将数字替换为1,2,3,4,5,6继续这样。

2 个答案:

答案 0 :(得分:0)

从一个开始,只需执行以下操作:

  ALTER TABLE tablename AUTO_INCREMENT = 1

如果需要参考,请使用以下链接:

改变表格: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

自动增量/重置主键: Reorder / reset auto increment primary key

Mysql重置autoincreament: http://www.mysqltutorial.org/mysql-reset-auto-increment

答案 1 :(得分:0)

您将无法同时将所有这些设为0,因为您无法为PK提供重复项。

使用phpMyAdmin或您想要的任何工具或使用SQL查询创建表的副本。

然后使用以下方法删除原始表中的所有数据:

DELETE users_items

或者:

TRUNCATE users_items

然后使用以下方法重置自动增量:

ALTER TABLE users_items AUTO_INCREMENT = 1

如果您使用TRUNCATE,则无需重置自动增量计数器。

在此之后,您可以使用SELECTINSERT将复制的表格中的数据恢复为此数据:

INSERT INTO users_items (col2, col3...) SELECT col2, col3,... FROM users_items_copy

(注意:选择和插入行时未触摸id列。)