mysql - 创建表后在mysql中增加值

标签 mysql sql

我想将第二列中的值更改为递增,并更改当前的 NULL 值以开始使用以 1 以外的值开始的递增系统。我确实看到我可以使用

ALTER TABLE t2 AUTO_INCREMENT = value;

要更改表以开始按我想要的数字递增,但它们本身的值仍然为空,我该如何更改我的表:

| Id | OtherNumber | Name |
| -- |:-----------:| ----:|
| 1  | NULL        | Bob  |
| 2  | NULL        | Susan|
| 3  | NULL        | Bill |

到此

| Id | OtherNumber | Name |
| -- |:-----------:| ----:|
| 1  | 7           | Bob  |
| 2  | 8           | Susan|
| 3  | 9           | Bill |

如果表有数百行,我该如何进行更改?谢谢

最佳答案

如果你在将“OtherNumber”更改为自动增量时将其设置为主键,mysql应该为你填写这些值

要更改起始编号,似乎您需要使用旧的主 id 列来获取表中的“第一”行。然后Mysql将选择这个值来开始自动增量。

update t2 set OtherNumber = value where t2.Id = 1;
ALTER TABLE `test`.`new_table` 
CHANGE COLUMN `OtherNumber` `OtherNumber` INT(11) NOT NULL AUTO_INCREMENT ,
ADD PRIMARY KEY (`OtherNumber`);

应使用您的自动增量设置填充空值。

您可以稍后将主键更改回 id 列。

关于mysql - 创建表后在mysql中增加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32192223/

相关文章:

SQL 通过列表在两列之间选择值

php - 如何将两个值API传递给android?

java - 如何使用 spring-mvc 访问 mysql 中的特定表

c# Entity Framework 什么时候应该使用新的 dbContext?

android - 如何在某个位置添加列?

sql - 测试动态查询中是否有任何更新

php - 多级用户组 PHP Mysql 无限循环

php - 一定时间后删除非事件用户有问题吗?

php - 在表单内编辑页面 HTML 表单?

sql - 如何仅过滤表格中的首次出现