我创建一个cabinet表,由于有个以前的表结构类似的,直接从seat表拿来用,创建如下:
create table cabinet (select * from seat where 1=2);
但是新的cabinet表的id不会自增了,去修改id表结构设置为自增报错如下:
错误
SQL 查询:
ALTERTABLE`it_cabinet1`CHANGE`id``id` MEDIUMINT( 8)UNSIGNED NOTNULLAUTO_INCREMENT
MySQL 返回:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
解决办法:
上面创建表的方法不能复制主键、索引等信息,所以需要重新修改下表里的主键、索引等信息。
1.把cabinet的id修改为主键。
2.把id设置为自增就不会报错了。
本文出自 “yanzi” 博客,谢绝转载!