gpt4 book ai didi

mysql - 在一张表中添加第二个外键 - MySql

转载 作者:行者123 更新时间:2023-11-29 12:02:12 26 4
gpt4 key购买 nike

我想在我现有的表“tbl_subcaste”上添加第二个外键,它已经有一个“fkcastecaste_id”屁股,如下所示: enter image description here

现在我想在此表上添加另一个“fk宗教religion_id”,如下所示: enter image description here

但执行此操作后 MySql 给我这个错误:

ALTER TABLE `tbl_subcaste` 
ADD CONSTRAINT `fk religion religion_id`
FOREIGN KEY (`religion_id`) REFERE `sanskrut`.`tbl_religion`(`religion_id`)
ON DELETE NO ACTION ON UPDATE CASCADE;

错误:#1022 - 无法写入;表“#sql-534_f7”中存在重复键

我不明白,为什么这不允许我添加另一个 kf ?

最佳答案

似乎外键名称已经存在,因此只需更改它并按照以下方式尝试 -

ALTER TABLE `tbl_subcaste` 
ADD CONSTRAINT `fk religion religion_id100`
FOREIGN KEY (`religion_id`) REFERE `sanskrut`.`tbl_religion`(`religion_id`)
ON DELETE NO ACTION ON UPDATE CASCADE;

即使您也应该遵循一个标准来避免此问题,因为您可以将名称保留为“fk_tablename_columnname”。

此外,您可以使用以下查询来获取所有键名称和其他有用信息。

SELECT constraint_Schema AS mydb, table_name AS child_table,constraint_name AS foreign_key_name, referenced_table_name AS master_table 
FROM information_Schema.REFERENTIAL_CONSTRAINTS
WHERE constraint_Schema='mydb' AND table_name='mytable';

关于mysql - 在一张表中添加第二个外键 - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32180287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com