我正在尝试修改一个既没有主键也没有auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入到主键列中(我在DB中已经有500行,我想给它们提供id,但我不想手动完成)。有什么想法吗?非常感谢。
发布于 2012-01-31 05:10:05
在我的测试中,添加PRIMARY KEY
列的ALTER TABLE
语句工作正常:
ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;
在为测试目的而创建的临时表上,上面的语句创建了AUTO_INCREMENT
id
列,并为表中的每个现有行插入了从1开始的自动增量值。
发布于 2014-01-27 12:48:49
假设你没有像id,no这样的自动增量列,那么你可以使用下面的查询来添加:
ALTER TABLE table_name ADD id int NOT NULL AUTO_INCREMENT primary key FIRST
如果您有列,则使用以下查询更改为自动递增:
ALTER TABLE table_name MODIFY column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
发布于 2013-07-05 00:09:25
对于像我这样遇到Multiple primary key defined
错误的人,请尝试:
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST NOT NULL;
在MySQL v5.5.31上,这将id
列设置为我的主键,并用递增的值填充每一行。
https://stackoverflow.com/questions/9070764
复制相似问题