使列auto_increment并重新定位

时间:2011-01-04 16:45:54

标签: mysql sql auto-increment alter-table

嘿。  我目前正在学习使用MySql并提出几个问题。

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

ALTER TABLE book UPDATE id AUTO_INCREMENT;

但是我收到了SQL语法错误。

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

由于

4 个答案:

答案 0 :(得分:3)

根据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,但我不知道您的表结构是什么,所以只是猜测。

答案 1 :(得分:2)

创建一个已存在的列AUTO_INCREMENT和一个PRIMARY KEY:

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

答案 2 :(得分:1)

关于订购,您可以使用:

ALTER TABLE table_name ADD column VARCHAR(60) FIRST;

将其移至开头。

答案 3 :(得分:0)

  1. 没有显示错误消息,很难说错误是什么...请发布。
  2. ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;