mysql - 在SQL中更改PK,由于FK而不起作用

标签 mysql sql

我想更改/更新 SQL 中表的 PK。我用的是Wampserver。 但是这个 PK 被用作其他 3 个表的外来项,我无法更改它。 知道怎么做吗?我可以禁用 FK,然后再次启用它们,它们将拥有新的 PK 吗? 在有PK的表中,有5-6个PK,但我只想更改其中一个。

CREATE TABLE party(
    name varchar(40)  COLLATE utf8_general_ci NOT NULL primary key,
    id integer not null,
    foreign key (id) references arxhgos(id)
);
CREATE TABLE boul(
    id integer not null,
    foreign key (id) references person(id),
    part_n varchar(40)  COLLATE utf8_general_ci NOT NULL,
    foreign key (part_n) references party(name),
    date_beg date not null,
    date_end date
);

最佳答案

您必须设置所谓的级联更新。

关于mysql - 在SQL中更改PK,由于FK而不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21617434/

相关文章:

php - 如何在 Laravel 5.2 中删除重复的行

php - 分两行后选择前5名MySQL

php - javascript 空字段验证

mysql - 从frm和ibd文件恢复表结构

Mysql - 来自 1 个表的 3 个单独的总和 - 工作 - 搜索更好的查询

sql - Django : I have a save() which is failing. 如何查看生成的 SQL?

PHP Web服务将数据插入数据库

sql - 将日期格式化为单词

mysql - SQL - 选择条件为真但如果有另一行打破条件则删除

java - 我需要有人解释一下查询条件