gpt4 book ai didi

PostgresSql 多表关联删除语句的操作

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PostgresSql 多表关联删除语句的操作由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

最近用PostgresSql数据库进行多表关联删除的操作,在写sql语句的时候遇到了问题:

?
1
2
DELETE s.* FROM student s,classroom c WHERE s.cid = c.id AND s.sid = 1
DELETE FROM student s,classroom c WHERE s.cid = c.id AND s.sid = 1

上面两种写法操作后提示报错,下面是PostgresSql数据库对多表关联操作的正确用法,多张表之间用USING连接:

?
1
DELETE FROM student s USING classroom c WHERE s.cid = c.id AND s.sid = 1

补充:PostgresSQL中的限制和级联删除 。

删除和更新时对应的操作是一样的 。

PostgresSql 多表关联删除语句的操作

1 Restrict 禁止删除被引用的行 (不能将约束检查推迟到事物的晚些时候) 。

2 No Action 如果存在任何引用行,则抛出错误,如果不声明任何行为则No Action就是缺省行为 (允许约束检查推迟到事物的晚些时候) 。

3 Cascade 在删除一个被引用的行时,引用他的行被自动删除 。

4 Set Null (外键上才有) 删除被引用行时,引用他的字段设置为NULL 。

5 Set Default (外键上才有) 删除被引用行时,引用他的字段被设置为缺省值 。

注意:一个动作声明为Set Default 但是缺省值并不能满足外键,那么动作就会失败 。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.

原文链接:https://blog.csdn.net/weixin_41595700/article/details/94985611 。

最后此篇关于PostgresSql 多表关联删除语句的操作的文章就讲到这里了,如果你想了解更多关于PostgresSql 多表关联删除语句的操作的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com