Answers:
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment
Roman是正确的,但请注意,auto_increment列必须是PRIMARY KEY或UNIQUE KEY的一部分(在几乎100%的情况下,它应该是构成PRIMARY KEY的唯一列):
ALTER TABLE document MODIFY document_id INT AUTO_INCREMENT PRIMARY KEY
就我而言,它只有在我放置时才起作用not null
。我认为这是一个约束。
ALTER TABLE document MODIFY COLUMN document_id INT NOT NULL AUTO_INCREMENT;
执行此操作的SQL为:
ALTER TABLE `document` MODIFY COLUMN `document_id` INT AUTO_INCREMENT;
有几种原因可能导致您的SQL无法正常工作。首先,您必须重新指定数据类型(INT
在这种情况下)。另外,您要更改的列必须被索引(它不一定是主键,但是通常这就是您想要的)。此外,AUTO_INCREMENT
每个表只能有一个列。因此,您可能希望运行以下SQL(如果您的列未建立索引):
ALTER TABLE `document` MODIFY `document_id` INT AUTO_INCREMENT PRIMARY KEY;
您可以在MySQL文档中找到更多信息:http : //dev.mysql.com/doc/refman/5.1/en/alter-table.html(用于修改列语法)和http://dev.mysql.com/doc /refman/5.1/en/create-table.html,以获取有关指定列的更多信息。
您必须在auto_increment
指令之前指定列的类型,即ALTER TABLE document MODIFY COLUMN document_id INT AUTO_INCREMENT
。
MODIFY COLUMN
您可以这样做:
alter table [table_name] modify column [column_name] [column_type] AUTO_INCREMENT;
您可以使用以下查询使document_id自动增加
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment
最好也使document_id为主键
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment PRIMARY KEY;
alter table tbl_user MODIFY COLUMN id int(10) auto_increment;
mysql> ALTER TABLE persons MODIFY COLUMN personID INT auto_increment PRIMARY KEY;
Query OK, 10 rows affected (0.77 sec)
Records: 10 Duplicates: 0 Warnings: 0
mysql>
ALTER TABLE table_name MODIFY COLUMN id数据类型auto_increment;