1. 程式人生 > >2017.8.23 postgresql的外來鍵

2017.8.23 postgresql的外來鍵

1.增加/刪除外來鍵的語法

1 ALTER TABLE t_permission ADD CONSTRAINT fkey FOREIGN KEY (fd_resid) REFERENCES t_resource (fd_resid) ON DELETE CASCADE;
2 ALTER TABLE t_permission DROP CONSTRAINT fkey;

2.更新或刪除的時候

 1 NO ACTION
 2 如果違反外來鍵約束會產生一個錯誤。如果約束被延遲,那麼到事務結束檢查約束時如果仍然因為存在一個引用行而違反外來鍵約束,則仍會產生錯誤。這是預設值。其他的動作action都不能被延遲。
3 4 RESTRICT 5 違反外來鍵約束會產生一個錯誤。 6 7 CASCADE 8 級聯刪除或更新。分別刪除一個引用行或者更新一個引用列的值。 9 10 SET NULL 11 當引用列刪除,設定引用列(referencing column(s))的值為null 12 13 SET DEFAULT 14 設定引用列為其預設值。如果預設值不是null,那麼仍然需要被引用表中有一條記錄的被引用欄位的值與之匹配,否則操作會失敗。