数据库:Incorrect table definition; there can be only one auto column and it must be defined as a key报错

错误提示:ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

错误原因:id字段指定了auto_increment类型,因此主键只能指定id字段。


mysql> create table llll (id int(10) not null auto_increment,user char(16) not null,primary key (user));
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

解决办法 :主键指定id,或者删除auto_increment语句

mysql> create table llll (id int(10) not null,user char(16) not null,primary key (user));
Query OK, 0 rows affected (0.00 sec)

mysql> show keys from llll;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| llll  |          0 | PRIMARY  |            1 | user        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/CN_LiTianpeng/article/details/108517484