介绍
这期内容当中小编将会给大家带来有关怎么在PostgresSql中对多表关联进行删除,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
最近用PostgresSql数据库进行多表关联删除的操作,在写sql语句的时候遇到了问题:
DELETE s。*,得到student 年代,classroom c WHERE s.cid =, c.id 以及s.sid =1 DELETE 得到student 年代,classroom c WHERE s.cid =, c.id 以及s.sid =, 1
上面两种写法操作后提示报错,下面是PostgresSql数据库对多表关联操作的正确用法,多张表之间用使用连接:
DELETE 得到student s USING classroom c WHERE s.cid =, c.id 以及s.sid =, 1
<强>补充:PostgresSql中的限制和级联删除强>
删除和更新时对应的操作是一样的
1 <代码> 代码>限制禁止删除被引用的行(不能将约束检查推迟到事物的晚些时候)
2 <代码> 代码>如不采取行动果存在任何引用行,则抛出错误,如果不声明任何行为则不采取行动就是缺省行为(允许约束检查推迟到事物的晚些时候)
3 <代码> 代码>在瀑布删除一个被引用的行时,引用他的行被自动删除
4 <代码>设置空> 代码(外键上才有)删除被引用行时,引用他的字段设置为零5
<代码>设置默认> 代码(外键上才有)删除被引用行时,引用他的字段被设置为缺省值
注意:一个动作声明为设置默认但是缺省值并不能满足外键,那么动作就会失败
上述就是小编为大家分享的怎么在PostgresSql中对多表关联进行删除了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。