2012-01-09 53 views
0

我試過一次更改PostgreSQL中所有外鍵級聯的刪除:更新pg_constraint沒有效果(Postgres的)

UPDATE pg_catalog.pg_constraint 
SET confupdtype='c', confdeltype='c', confmatchtype='u' 
WHERE connamespace=2200; 

有沒有錯誤,當我檢查與pgAdmin的表,它看起來正確,但是當我嘗試刪除一個引用的錶行時,它會導致一個約束錯誤。就在SQL語句的工作原理:

ALTER TABLE tblname 
    DROP CONSTRAINT IF EXISTS fk3e2e4a8ff123848a; 

ALTER TABLE tblname 
    ADD CONSTRAINT fk3e2e4a8ff123848a FOREIGN KEY (field) 
     REFERENCES othertable (id) MATCH SIMPLE 
     ON UPDATE CASCADE ON DELETE CASCADE; 

任何想法,爲什麼改變pg_catalog.pg_constraint不工作?即使重新啓動服務後沒有幫助。

回答