我想将第二列中的值更改为递增,并更改当前的 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/