首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL 'join‘%2主键到%1

SQL 'join‘%2主键到%1
EN

Stack Overflow用户
提问于 2012-06-07 04:21:02
回答 3查看 95关注 0票数 1

我有两张桌子:

代码语言:javascript
复制
PrimKey
001
002

和:

代码语言:javascript
复制
ID | ForeignKey
a  | 001
b  | 002
c  | 002

我想删除002行,并将所有002外键‘绑定’到001,这样看起来就像:

代码语言:javascript
复制
PrimKey
001

和:

代码语言:javascript
复制
ID | ForeignKey
a  | 001
b  | 001
c  | 001

FK约束不允许我执行更新+删除。有什么建议去哪里挖掘吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-07 04:23:49

你必须从另一个方向来做。更改第二个表中的行,使其指向第一个表中的另一个PK;然后,当没有对row002的引用时,可以将其删除。

票数 3
EN

Stack Overflow用户

发布于 2012-06-07 04:24:49

你也可以尝试做begin transactionupdatedeletecommit

票数 0
EN

Stack Overflow用户

发布于 2012-06-07 04:34:49

如果您无法控制数据库模式,则必须按照Jeremy指出的那样手动删除。

如果您拥有控制权,则可以在表之间添加外键关系,并在关系详细信息中添加“级联删除”约束。要做到这一点,请转到带有外键的表的表设计,然后右键单击以选择“Relationship”。然后选择"Add“并转到定义表和列的部分。单击带有三个点的按钮,您将能够选择关系的父表,然后可以选择用于创建关系的列。最后,在relationships屏幕中找到insert/update规范部分,以指示delete时的"cascade“。(对此也有一个alter table语句,但有时使用GUI会更快。)

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

https://stackoverflow.com/questions/10921637

复制
相关文章

相似问题

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