首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除具有外键关系表的表中的记录

删除具有外键关系表的表中的记录
EN

Stack Overflow用户
提问于 2009-05-14 05:57:39
回答 5查看 3.5K关注 0票数 2

如何删除有外键关系的表中的记录?

假设我有两个表: employee和department,第一个表有一个deptID作为引用部门id的外键。

现在我想删除像delete from department where depID=10这样的表中的特定行。删除部门中的职员也可以,我也想维护外键关系。执行此操作的查询是什么?

EN

回答 5

Stack Overflow用户

发布于 2009-05-14 05:59:17

您应该指定delete级联到employee表。这有点依赖于你的数据库,但是几乎每个数据库都支持级联删除。

例如在SQL Server中:

代码语言:javascript
运行
复制
CREATE TABLE Employee
(
    DepId INT NOT NULL REFERENCES Department(DepId) ON DELETE CASCADE
)
票数 2
EN

Stack Overflow用户

发布于 2009-05-14 06:01:16

这取决于数据库和您如何定义您的关系。您可以使删除级联,这意味着删除父级会删除子记录,或者“delete nullify”,这会导致子关系在其FK字段中具有NULL,或者您拥有的内容。这取决于您的需求。通常,在没有自动处理的情况下,我不会根据需要定义作废、级联和删除每条记录。

票数 1
EN

Stack Overflow用户

发布于 2009-05-14 06:00:59

在SQL Server中,您可以将关系标记为mark

或者,首先对Employees表执行DELETE,然后对Departments表执行第二个DELETE。

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

https://stackoverflow.com/questions/861752

复制
相关文章

相似问题

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