将外键添加到新创建的表(mySQL)时出错

时间:2019-03-02 20:24:35

标签: mysql foreign-keys constraints

我正在尝试更改表产品,以为字段petCat_ID添加外键类型的约束,以便它引用表petCategory(ID)。我刚刚创建了表petCat_ID,但收到“无法添加或更新子行”错误。

这是我为了得到此错误而执行的命令:

'Oo'

任何帮助或提示将不胜感激!注意:petCat_ID位于表product中,而productCategory是另一个表。

1 个答案:

答案 0 :(得分:0)

在我的评论中,我提到我需要对您具有哪种数据库结构有一个更清晰的认识,但是我有一系列的方法可以帮助您解决所遇到的问题。

  1. 如果ALTER语句不起作用,并且语法良好,那是因为您正在执行的操作与已经存在的规则冲突。

  2. 有时,执行DROP TABLE命令,然后再次创建表可以解决问题。如果存在依赖关系,使您无法删除表,则可能会出现问题。

  3. 遇到麻烦时,首先尝试查看用于制作数据库的脚本。对其进行修改,看看是否可以获得所需的属性。完成后,创建一个新的数据库表结构,并将表项从旧的表迁移到新的数据库。

  4. I made a github repository here,其中,我制作了面向客户的Amtrack数据库的外观的第三个普通格式版本,甚至还编写了脚本以向示例中添加数据。有显示ER结构的图像。我包括了创建脚本,该脚本按特定顺序分为每个表的创建。对于如何分配表关系,它应该是一个很好的参考,这将使您对可以更改的内容有个很好的了解。 免责声明我是为SSMS编写的,但是我不认为我使用了特定于SSMS的任何东西,以为代码应在MySQL中工作。