相关疑难解决方法(0)

Mysql - 将auto_increment添加到主键

我有一个奇怪的问题与mysql.

我试图改变一个表的列,这是一个主键,并在其上定义了auto_increment约束.这也是多个其他表的外键引用.我需要在父级和所有子级中更改此列的长度.

set foreign_key_checks=0;
alter table Parent  modify Identifier smallint(10) unsigned;
alter table Child_1 modify FK_Identifier smallint(10) unsigned;
alter table Child_2 modify FK_Identifier smallint(10) unsigned;
alter table Child_3 modify FK_Identifier  smallint(10) unsigned;
alter table Child_4 modify FK_Identifier smallint(10) unsigned;
alter table Child_5 modify FK_Identifier smallint(10) unsigned;
set foreign_key_checks=1;
Run Code Online (Sandbox Code Playgroud)

这将删除父表上的自动增量.添加约束的最佳方法是什么?

以下似乎都失败了.

mysql> ALTER TABLE Parent MODIFY Identifier smallint(10) PRIMARY KEY AUTO_INCREMENT;
ERROR 1068 (42000): Multiple primary key defined


ALTER TABLE Parent MODIFY Identifier smallint(10) AUTO_INCREMENT;
------------------------
LATEST FOREIGN KEY ERROR
------------------------ …
Run Code Online (Sandbox Code Playgroud)

mysql database foreign-keys auto-increment

17
推荐指数
1
解决办法
5万
查看次数

标签 统计

auto-increment ×1

database ×1

foreign-keys ×1

mysql ×1