【发布时间】:2014-11-08 00:56:15
【问题描述】:
PostgreSQL 数据库升级脚本使用命令添加外键约束:
update omrid set tellkanne=null where tellkanne =0 or tellkanne not in (select dokumnr from dok);
alter table omrid ADD constraint omrid_tellkanne_fkey FOREIGN KEY (tellkanne)
REFERENCES dok(dokumnr) ON UPDATE CASCADE on delete set null DEFERRABLE
dokumnr 是serial 类型的点表主键。
两个字段都是int 类型
如果在报错之前已经添加了外键,需要很多时间。
仅当外键 omrid_tellkanne_fkey 不存在时如何运行这些命令?
【问题讨论】:
-
如果您添加相关表格 DDL,您的问题会更容易理解。
-
您需要多久添加一次外键约束?
-
应用升级时需要添加。如果新版本安装到客户站点,升级脚本将运行。它每年发生 1..30 次
标签: sql postgresql foreign-keys