如何在mysql现有表中增加自增列,从1000开始递增1

c9qzyr3d  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(987)

我有一个已经有数据的表。我想在表中添加新的列作为主键,主键的值应该从1000开始,并且应该是自动递增的。
我试着遵循sql命令

**

  1. ALTER TABLE TABLE_NAME AUTO_INCREMENT = 1000;
  2. ALTER TABLE TABLE_NAME ADD COLUMN RowId INT AUTO_INCREMENT NOT NULL PRIMARY KEY FIRST;

**

但它仍然显示新列由1的值组成。我希望第一张唱片应该从1000开始,然后继续。

3b6akqbq

3b6akqbq1#

根据手册(https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html)只需插入1000的值,就可以更改自动递增的数字
在自动递增列中插入任何其他值时,该列将被设置为该值,并且序列将被重置,以便下一个自动生成的值从最大的列值开始依次出现

fnx2tebb

fnx2tebb2#

你可能只想用一句话来表达。

  1. +-------+---------+--------+---------------------+
  2. | subid | clickid | status | datetime |
  3. +-------+---------+--------+---------------------+
  4. | 1 | 123 | low | 2018-07-24 20:20:44 |
  5. | 2 | 123 | act | 2018-07-24 21:20:44 |
  6. | 3 | 231 | act | 2018-07-25 20:20:44 |
  7. | 4 | 231 | low | 2018-07-25 21:20:44 |
  8. | 5 | 789 | low | 2018-07-26 20:20:44 |
  9. | 6 | 789 | act | 2018-07-26 21:20:44 |
  10. +-------+---------+--------+---------------------+
  11. 6 rows in set (0.00 sec)
  12. ALTER TABLE T ADD COLUMN RowId INT AUTO_INCREMENT NOT NULL PRIMARY KEY FIRST,
  13. AUTO_INCREMENT = 1000;
  14. +-------+-------+---------+--------+---------------------+
  15. | RowId | subid | clickid | status | datetime |
  16. +-------+-------+---------+--------+---------------------+
  17. | 1000 | 1 | 123 | low | 2018-07-24 20:20:44 |
  18. | 1001 | 2 | 123 | act | 2018-07-24 21:20:44 |
  19. | 1002 | 3 | 231 | act | 2018-07-25 20:20:44 |
  20. | 1003 | 4 | 231 | low | 2018-07-25 21:20:44 |
  21. | 1004 | 5 | 789 | low | 2018-07-26 20:20:44 |
  22. | 1005 | 6 | 789 | act | 2018-07-26 21:20:44 |
  23. +-------+-------+---------+--------+---------------------+
  24. 6 rows in set (0.00 sec)
  25. show create table t;
  26. +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  27. | Table | Create Table |
  28. +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | t | CREATE TABLE `t` (
  30. `RowId` int(11) NOT NULL AUTO_INCREMENT,
  31. `subid` int(11) DEFAULT NULL,
  32. `clickid` int(11) DEFAULT NULL,
  33. `status` varchar(3) DEFAULT NULL,
  34. `datetime` datetime DEFAULT NULL,
  35. PRIMARY KEY (`RowId`)
  36. ) ENGINE=InnoDB AUTO_INCREMENT=1006 DEFAULT CHARSET=latin1 |
展开查看全部

相关问题