mysql> create table zc_test2(id int); Query OK, 0 rows affected (1.37 sec) mysql> insert into zc_test2 values (10),(9),(8),(7),(6); Query OK, 5 rows affected (0.04 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from zc_test2; +------+ | id | +------+ | 10 | | 9 | | 8 | | 7 | | 6 | +------+ 5 rows in set (0.00 sec) mysql> ALTER TABLE zc_test2 add id2 int; Query OK, 0 rows affected (2.84 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> select * from zc_test2; +------+------+ | id | id2 | +------+------+ | 10 | NULL | | 9 | NULL | | 8 | NULL | | 7 | NULL | | 6 | NULL | +------+------+ 5 rows in set (0.00 sec) mysql> alter table zc_test2 change id2 id2 int NOT NULL AUTO_INCREMENT; ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key mysql> alter table zc_test2 change id2 id2 int NOT NULL AUTO_INCREMENT primary key; Query OK, 5 rows affected (1.34 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from zc_test2; +------+-----+ | id | id2 | +------+-----+ | 10 | 1 | | 9 | 2 | | 8 | 3 | | 7 | 4 | | 6 | 5 | +------+-----+ 5 rows in set (0.00 sec)