嘿。 我目前正在学习使用MySql并提出几个问题。
1)如何更新列(空表)以使其成为AUTO_INCREMENT列?我试过了
ALTER TABLE book UPDATE id AUTO_INCREMENT;
但是我收到了SQL语法错误。
2)如果我添加新列,如何更改其在表中的位置?例如,如果我添加一个新列,它会添加到最后。如果我想把它移到开头怎么办?
由于
答案 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)
ALTER TABLE t1 ADD col3 VARCHAR(60) AFTER col1;