当前位置: 首页 > article >正文

(四)PostgreSQL数据库操作示例

删除有外键约束的表

最近做数据库练习遇到一个问题,数据库里面有一个表,存在外键约束,我想要删除,所以必须先删除这些外键约束。

查询外键约束

  • 查找外键约束:当你需要知道某个表的外键约束及其引用关系时,可以使用此查询。
  • 删除外键约束:在删除表之前,你需要先删除相关的外键约束,此查询可以帮助你找到这些约束的名称。
SELECT conname 
FROM pg_constraint 
WHERE conrelid = 'branch'::regclass AND confrelid = 'employee'::regclass;

SELECT conname 
FROM pg_constraint 
WHERE conrelid = 'employee'::regclass AND confrelid = 'branch'::regclass;
  1. 目标:
    • 查询 pg_constraint 系统表,找到所有从 branch 表引用到 employee 表的外键约束的名称。
  2. 字段:
    • conname: 约束的名称。
  3. 条件:
    • conrelid = ‘branch’::regclass: 指定约束所属的表为 branch 表。
    • confrelid = ‘employee’::regclass: 指定被引用的表为 employee 表。
  4. 结果:
    • 返回所有满足条件的外键约束的名称。

删除外键约束

ALTER TABLE "branch"
DROP CONSTRAINT "branch_manager_id_fkey";

ALTER TABLE "employee"
DROP CONSTRAINT "employee_branch_id_fkey";

在应用时,可能多个表之间相互约束,所以得找完全部的约束并删除,才能删除表


http://www.kler.cn/a/377556.html

相关文章:

  • 十四届蓝桥杯STEMA考试Python真题试卷第二套第一题
  • 【MySQL死锁一】
  • Kafka在大数据处理中的作用及其工作原理
  • 音视频入门基础:FLV专题(22)——FFmpeg源码中,获取FLV文件音频信息的实现(中)
  • 物联网赋能的人工智能图像检测系统
  • 基于 Canal + Elasticsearch 的业务操作日志解决方案
  • SQL优化经验大全(表设计优化,索引优化,索引创建规则、索引失效场景,sql语句优化,主从复制,分库分表)面试题
  • list(c++)
  • 基于milvus的多模态检索
  • AWS RDS Oracle hit ORA-39405
  • 第三十一章 单页与多页应用程序概念
  • 单智能体carla强化学习实战工程介绍
  • 使用Django REST framework构建RESTful API
  • 【React 轮子】文本溢出后显示展开/收起按钮
  • java jsoup解析豆瓣电影数据html实战教程
  • Linux云计算 |【第五阶段】CLOUD-DAY5
  • 2.WebSocket进阶: 深入探究实时通信的最佳实践与优化技巧
  • Rust 力扣 - 1652. 拆炸弹
  • 深入理解跨域资源共享(CORS)安全问题原理及解决思路
  • C++编程法则365天一天一条(27)std::initializer_list 轻量级初始化列表
  • OKHTTP断点续传
  • 【运输&加载码头】仓库新卸物料检测系统源码&数据集全套:改进yolo11-DRBNCSPELAN
  • 利用Docker Compose构建微服务架构
  • 90%的读者都惊呆了!一键生成的微头条,连作者都认不出来是AI作品?
  • Linux常见指令大全(必要+知识点)
  • 设计模式08-行为型模式(命令模式/迭代器模式/观察者模式/Java)