首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向外键约束表添加外键

向外键约束表添加外键
EN

Stack Overflow用户
提问于 2017-09-01 00:29:43
回答 1查看 44关注 0票数 0

我有这个表:

语录

代码语言:javascript
复制
+---------------------+-----------------------+------+-----+---------+---+
| Field               | Type                  | Null | Key | Default 
+---------------------+-----------------------+------+-----+---------+---+
| id                  | int(11) unsigned      | NO   | PRI | NULL    
... (More Columns)           
+---------------------+-----------------------+------+-----+-------------+

quotesPackagesInfo

代码语言:javascript
复制
+---------------+---------------------+------+-----+---------+------------+
| Field         | Type                | Null | Key | Default          
+---------------+---------------------+------+-----+---------+------------+
| id            | int(11) unsigned    | NO   | PRI | NULL     
| quoteId       | int(11) unsigned    | NO   |     | NULL    
... (More Columns)
+---------------+---------------------+------+-----+---------+------------+

quotesFlightsInfo

代码语言:javascript
复制
+---------------------------+---------------------+------+-----+----------+
| 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) 
+---------------------------+---------------------+------+-----+----------+

所以基本上有引号是主键,在引号中有包之后,包可以包含航班,所以我需要在删除包时删除所有相关的航班,所以我为航班添加了一个外键,如下所示:

代码语言:javascript
复制
ALTER TABLE quotesFlightsInfo
ADD CONSTRAINT fk_quotesFlightsInfo_packageId
FOREIGN KEY (packageId) REFERENCES quotesPackagesInfo(id)
ON DELETE CASCADE

现在,我正在尝试添加一个外键到包中,这样当一个报价被删除时,包也会被删除,因此航班但不起作用:(,这里是查询:

代码语言:javascript
复制
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)在DELETE CASCADE上引用quotes (id) )

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 00:50:12

我删除了quotesPackagesInfo表,并从开始添加外键重新创建了它,它工作了,但仍然不知道之前出了什么问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45986218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档