【问题标题】:How to add auto-increment column in MySQL table with some particular number?如何在 MySQL 表中添加具有特定数字的自增列?
【发布时间】:2015-07-15 09:24:56
【问题描述】:

我想使用 alter 命令添加一个新的主键自动递增列,但我不想以 1 开头。

注意:我的表有其他列的数据,所以我想添加一个新列,它以 1 以外的某个数字开始其自动递增。

那么有什么办法可以通过alter命令来添加列。

【问题讨论】:

  • 不,我的表有现有数据,我想添加自动增量类型的新列
  • 假设您希望自动增量从 N 开始,那么,您可以将新列的值设置为 N-1 到现有记录之一吗?这样就可以了
  • 不,我想从第一条记录中插入新列的值,通过这个技巧,我们需要手动输入。确实可以通过更新命令来完成

标签: mysql mysql-workbench mysql-5.5


【解决方案1】:

我研究,做实验,发现这是不可能在现有数据表中添加新列,自动递增,从另一个数字开始,然后是 1。

【讨论】:

  • 我注意到一个表中只能有一个 auto_increment 列。我有一个包含两行(id = 1 和 2)的表,我将 id 设为不是 auto_increment,并添加了带有 auto_increment 列的新列 test - 现有记录的 test 列的值为 3 和 4。你怎么解释?
  • 你是完全不同的东西。我的问题是我们如何在现有数据表中添加一个新列,新列以自动增量值 10 (N) 开头。
【解决方案2】:

这是可以做到的

ALTER TABLE my_table AUTO_INCREMENT = 1000

ALTER TABLE my_table ADD my_table_id INT PRIMARY KEY AUTO_INCREMENT FIRST;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多