【发布时间】:2011-11-16 22:23:36
【问题描述】:
我有一个关于 InnoDB 表中的外键的问题。我的数据库中有 4 个表:
注册:
- UID - 主键
- 相信
- 平面
- 行业标识
关联公司:
- Afid - 主键
计划:
- Planid - 主键
行业:
- Industryid - 主键
我用来添加键的 SQL:
CONSTRAINT `FK_signup_industries` FOREIGN KEY (`industryid`) REFERENCES `industries` (`industryid`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_signup_affiliates` FOREIGN KEY (`afid`) REFERENCES `affiliates` (`afid`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_signup_plans` FOREIGN KEY (`planid`) REFERENCES `plans` (`planid`) ON UPDATE CASCADE ON DELETE CASCADE
我的问题是:
如果我要删除他们各自表格上的计划或行业,注册表格中的用户会被删除吗?我试图找到这方面的指南,但他们解释得不是很好。
基本上我需要做的是无论如何都永远不会删除注册表中的行。当我使用这个查询时:
CONSTRAINT `FK_signup_plans` FOREIGN KEY (`planid`) REFERENCES `plans` (`planid`) ON UPDATE CASCADE ON DELETE NO ACTION
我收到此错误:
Cannot delete a parent row.
【问题讨论】:
标签: mysql foreign-keys innodb foreign-key-relationship