我有这张桌子:

引号

+---------------------+-----------------------+------+-----+---------+---+
| Field               | Type                  | Null | Key | Default
+---------------------+-----------------------+------+-----+---------+---+
| id                  | int(11) unsigned      | NO   | PRI | NULL
... (More Columns)
+---------------------+-----------------------+------+-----+-------------+


quotesPackagesInfo

+---------------+---------------------+------+-----+---------+------------+
| Field         | Type                | Null | Key | Default
+---------------+---------------------+------+-----+---------+------------+
| id            | int(11) unsigned    | NO   | PRI | NULL
| quoteId       | int(11) unsigned    | NO   |     | NULL
... (More Columns)
+---------------+---------------------+------+-----+---------+------------+


quotesFlightsInfo

+---------------------------+---------------------+------+-----+----------+
| Field                     | Type                | Null | Key | Default
+---------------------------+---------------------+------+-----+----------+
| id                        | int(11) unsigned    | NO   | PRI | NULL
| quoteId                   | int(11) unsigned    | NO   | MUL | NULL
| packageId                 | int(11) unsigned    | YES  | MUL | NULL                                    ... (More Columns)
+---------------------------+---------------------+------+-----+----------+


所以基本上有引号是主键,引号内有软件包之后,一个软件包可以包含航班,因此我需要在删除软件包时删除所有与航班有关的物品,因此我添加了外键飞往以下航班:

ALTER TABLE quotesFlightsInfo
ADD CONSTRAINT fk_quotesFlightsInfo_packageId
FOREIGN KEY (packageId) REFERENCES quotesPackagesInfo(id)
ON DELETE CASCADE


现在我正在尝试向程序包添加外键,因此当报价被删除时,程序包也会删除,因此飞行但不起作用:(,在此查询:

ALTER TABLE quotesPackagesInfo
ADD CONSTRAINT fk_quotesPackagesInfo_quoteId
FOREIGN KEY (quoteId) REFERENCES quotes(id)
ON DELETE CASCADE


错误:无法添加或更新子行:外键约束失败(??????????#sql-312_2,CONSTRAINT fk_quotesPackagesInfo_quoteId外键(quoteId)参考quotesid)删除级联)

最佳答案

我删除了quotesPackagesInfo表,并再次创建它,从开始添加外键就可以了,但是仍然不知道发生了什么事

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

10-11 01:43
查看更多