首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在现有表中插入自动增量主键

在现有表中插入自动增量主键
EN

Stack Overflow用户
提问于 2012-01-31 05:05:50
回答 11查看 250.2K关注 0票数 171

我正在尝试修改一个既没有主键也没有auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入到主键列中(我在DB中已经有500行,我想给它们提供id,但我不想手动完成)。有什么想法吗?非常感谢。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-01-31 05:10:05

在我的测试中,添加PRIMARY KEY列的ALTER TABLE语句工作正常:

代码语言:javascript
复制
ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT;

在为测试目的而创建的临时表上,上面的语句创建了AUTO_INCREMENT id列,并为表中的每个现有行插入了从1开始的自动增量值。

票数 296
EN

Stack Overflow用户

发布于 2014-01-27 12:48:49

假设你没有像id,no这样的自动增量列,那么你可以使用下面的查询来添加:

代码语言:javascript
复制
ALTER TABLE table_name ADD id int NOT NULL AUTO_INCREMENT primary key FIRST

如果您有列,则使用以下查询更改为自动递增:

代码语言:javascript
复制
 ALTER TABLE table_name MODIFY column_name datatype(length) AUTO_INCREMENT PRIMARY KEY
票数 58
EN

Stack Overflow用户

发布于 2013-07-05 00:09:25

对于像我这样遇到Multiple primary key defined错误的人,请尝试:

代码语言:javascript
复制
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST NOT NULL;

在MySQL v5.5.31上,这将id列设置为我的主键,并用递增的值填充每一行。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9070764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档