【问题标题】:Make column auto_increment and reposition使列 auto_increment 和重新定位
【发布时间】:2011-06-03 12:33:31
【问题描述】:

嘿。 我目前正在学习使用 MySql,有几个问题。

1) 如何更新列(空表)以使其成为 AUTO_INCREMENT 列?我试过了

ALTER TABLE book UPDATE id AUTO_INCREMENT;

但我得到一个 SQL 语法错误。

2) 如果我添加一个新列,如何更改它在表格中的位置?例如,如果我添加一个新列,它会添加到末尾。如果我想把它移到开头怎么办?

谢谢

【问题讨论】:

    标签: mysql sql auto-increment alter-table


    【解决方案1】:

    根据ALTER Syntax,您可能希望使用 MODIFY 关键字(而不是 UPDATE)。

    另外,不确定它是否会起作用(取决于您的列定义),但您会这样做:

    试试这个:

    ALTER TABLE book
    MODIFY id AUTO_INCREMENT;
    

    如果没有,您需要先删除该列,然后重新添加它:

    ALTER TABLE book
    DROP COLUMN id;
    
    ALTER TABLE book
    ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST; -- "FIRST": Add column to beginning
    

    您可能还希望它是 PRIMARY KEY,但我不知道您的表结构是什么,所以只是猜测。

    【讨论】:

    • 谢谢。这是一个主键,但我忘记将它设置为 auto_increment。
    【解决方案2】:
    1. 不显示错误消息,很难说是什么错误...请发布它。
    2. ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;

    【讨论】:

      【解决方案3】:

      关于排序,您可以使用:

      ALTER TABLE table_name ADD column VARCHAR(60) FIRST;

      将其移到开头。

      【讨论】:

        【解决方案4】:

        使一个已经存在的列 AUTO_INCREMENT 和一个 PRIMARY KEY:

        ALTER TABLE t1 MODIFY id int(11) AUTO_INCREMENT PRIMARY KEY

        【讨论】:

          猜你喜欢
          • 2015-08-19
          • 1970-01-01
          • 1970-01-01
          • 2013-12-22
          • 1970-01-01
          • 2013-10-06
          • 1970-01-01
          • 2013-03-16
          • 1970-01-01
          相关资源
          最近更新 更多