欢迎光临
我们一直在努力

MySQL 5.5 报错"ERROR 1075 (42000): Incorrect table definition"

–给表增加自增字段的时候报错

mysql> desc t7;
+——-+————-+——+—–+———+——-+
| Field | Type        | Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
| name  | varchar(20) | YES  |     | NULL    |       |
| id    | int(4)      | YES  |     | NULL    |       |
+——-+————-+——+—–+———+——-+
2 rows in set (0.00 sec)

mysql> alter table t7 add id2 int(4) auto_increment;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

报错原因:自增字段没有被定义为一个key。

解决办法:可以将新增字段定义为unique key或primary key。

mysql> alter table t7 add id2 int(4) auto_increment primary key;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t7 drop column id2;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t7 add id2 int(4) auto_increment unique key;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。