我试图修改一个表,使其主键列AUTO_INCREMENT后的事实。我已经尝试了下面的SQL,但得到了一个语法错误通知。

ALTER TABLE document
ALTER COLUMN document_id AUTO_INCREMENT

是我做错了什么还是这不可能?

+--------------------+
| VERSION()          |
+--------------------+
| 5.0.75-0ubuntu10.2 |
+--------------------+

当前回答

以前的表格语法:

CREATE TABLE apim_log_request (TransactionId varchar(50) DEFAULT NULL);

要将TransactionId更改为自动递增,请使用此查询

ALTER TABLE apim_log_request MODIFY COLUMN TransactionId INT auto_increment;

其他回答

下面的陈述是正确的。注意,您需要再次为列名提到数据类型(重新声明列名之前的数据类型)。

ALTER TABLE document
MODIFY COLUMN document_id int AUTO_INCREMENT;
alter table tbl_user MODIFY COLUMN id int(10) auto_increment;

Roman是对的,但请注意auto_increment列必须是PRIMARY KEY或UNIQUE KEY的一部分(并且在几乎100%的情况下,它应该是组成PRIMARY KEY的唯一列):

ALTER TABLE document MODIFY document_id INT AUTO_INCREMENT PRIMARY KEY

你可以这样做:

 alter table [table_name] modify column [column_name] [column_type] AUTO_INCREMENT;

你必须在auto_increment指令之前指定列的类型,即ALTER TABLE document MODIFY column document_id INT auto_increment。