postgresql 笔记
发布日期:2021-06-24 18:23:36 浏览次数:2 分类:技术文章

本文共 883 字,大约阅读时间需要 2 分钟。

信息模式

table_constraints

视图table_constraints包含属于特定表的所有约束,这些表要满足的条件是:当前用户拥有表或者是当前用户在表上具有某种除SELECT之外的特权。

SELECT * FROM information_schema.table_constraints;

constraint_table_usage

视图constraint_table_usage标识在当前数据库中被某个约束使用的所有表(这与视图table_constraints不同,它标识哪些表约束定义在哪些表上)。对于一个外键约束,这个视图标识该外键引用的表。对于一个唯一或主键约束,这个视图仅标识该约束属于的表。检查约束和非空约束不被包括在这个视图中。

SELECT * FROM information_schema.constraint_table_usage;

批量删除外键

# sqlalchemy sessionquery = session.execute(    "SELECT * FROM information_schema.table_constraints WHERE constraint_type =:param;",    {'param': 'FOREIGN KEY'})results = query.fetchall()for r in results:    table_name = r['table_name']    constraint_name = r['constraint_name']    try:        session.execute(f"ALTER TABLE {table_name} DROP CONSTRAINT {constraint_name};")        print('成功:', table_name, constraint_name)    except:        print('失败:', table_name, constraint_name)

参见:

转载地址:https://blog.csdn.net/weixin_34248258/article/details/88860394 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vue-design 桌面端页面可视化构建程序
下一篇:解决vuejs 创建数据后设置对象的属性实现不了双向绑定问题

发表评论

最新留言

很好
[***.229.124.182]2024年04月11日 00时03分33秒