首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在mysql表auto_increment中创建一个ID (事后)

在mysql表auto_increment中创建一个ID (事后)
EN

Stack Overflow用户
提问于 2008-10-30 19:41:26
回答 6查看 169.5K关注 0票数 61

我从另一个开发人员那里获得了一个数据库。他没有在任何桌子上使用auto_incrementers。它们都有主键ID,但他在代码中手动完成了所有的递增。

我现在可以把它们转换成Auto_incrementers了吗?

哇,非常好,非常感谢。它在我的一张桌子上工作得很顺利。但是第二个表,我在将'.\DBNAME#sql-6c8_62259c‘重命名为'.\DBNAME\dealer_master_events’时得到这个error...Error

EN

回答 6

Stack Overflow用户

发布于 2008-10-30 20:11:19

我猜你不需要重新增加已有的数据,为什么你不能运行一个简单的ALTER TABLE命令来改变主键的属性呢?

类似于:

代码语言:javascript
复制
ALTER TABLE `content` CHANGE `id` `id` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT 

我已经在我自己的MySQL数据库上测试了这段代码,它可以工作,但我没有用任何有意义的记录数量来尝试它。一旦更改了行,则需要将增量重置为一个保证不会干扰任何其他记录的数字。

代码语言:javascript
复制
ALTER TABLE `content` auto_increment = MAX(`id`) + 1

再一次,未经测试,但我相信它会工作。

票数 5
EN

Stack Overflow用户

发布于 2010-01-13 03:31:34

上面的方法都不适用于我的表格。我有一个表,它的主键是一个无符号整数,值的范围从0到31543。目前有超过19,000条记录。我必须将列修改为AUTO_INCREMENT (MODIFY COLUMN'id'INTEGER UNSIGNED NOT NULL AUTO_INCREMENT),并在同一条语句中设置种子(AUTO_INCREMENT = 31544)。

代码语言:javascript
复制
ALTER TABLE `'TableName'` MODIFY COLUMN `'id'` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 31544;
票数 5
EN

Stack Overflow用户

发布于 2014-02-22 05:34:00

这对我很有效(我想把id设为主值并设置自动递增)

ALTER TABLE table_name CHANGE id id INT PRIMARY KEY AUTO_INCREMENT;

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

https://stackoverflow.com/questions/251479

复制
相关文章

相似问题

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