在手动设置主键自动增长时,出现1833错误,如图。
原因:本表的主键是其他表的外键,外键是不可以设置自增的。
查询该表存在的外键信息:
select
REFERENCED_COLUMN_NAME,TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME
from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
where CONSTRAINT_SCHEMA ='数据库名' AND
REFERENCED_TABLE_NAME = '参考表名';
结果为:
从图中可以看到,主键id被表product_建立了外键约束,那么需要删除product_对id的外键约束,然后设置id的主键自增,设置完成后重新添加外键约束。
可通过可视化界面直接删除,
也可通过命令删除
alter table 被删除外键的表 drop foreign key 外键名;