我需要将自动增量 id 添加到已有的表中。我做了:
ALTER TABLE table_name ADD column_name INT NOT NULL AUTO_INCREMENT FIRST ,
ADD PRIMARY KEY (column_name)
但是,自动编号并不基于任何特定的列顺序。我希望 mysql 根据某些列的顺序巧妙地放置自动编号。是否可以?
大多数答案告诉您如何添加自动增量字段,而不是如何控制现有表中的这些数字。
请注意,MySQL 表只能有一列AUTO_INCREMENT
属性。
假设表没有主键:
ALTER TABLE table_name ADD COLUMN new_id INT NOT NULL;
SET @x = 0;
UPDATE table_name SET new_id = (@x:=@x+1) ORDER BY whateveryouwant ASC;
ALTER TABLE table_name ADD PRIMARY KEY new_id (new_id);
ALTER TABLE table_name CHANGE new_id new_id INT NOT NULL AUTO_INCREMENT;
假设表已经有一个非增量主键:
只需省略PRIMARY
第四个命令中的关键字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)