我在設置表的主鍵時犯了一個錯誤,比如在字段'x'上說。另一個字段,比如字段'y',我放置了一個唯一的約束,並將這個字段的一些其他表引用爲外鍵。刪除唯一約束的問題postgresql
我注意到我的錯誤,並把字段'x'上的主鍵放在'y'上。在這一點上,我意識到我可以刪除'y'上的唯一約束。但是現在我得到了錯誤,告訴我:不能在表'foo'上刪除約束'y'_unique_constraint,因爲其他對象依賴於它。
我嘗試通過做一個事務和'設置所有約束的約束',但沒有幫助。
如何在不從頭開始構建數據庫的情況下移除此約束?據我所見,'y'這個唯一約束現在是多餘的,主鍵在同一個字段上。
好吧,看起來還有其他表中引用唯一'x'列的外鍵。外鍵**要求引用列(set)是唯一的。 – joop
不,情況並非如此,似乎外鍵被引用到唯一約束索引而不是它自己的字段:...取決於索引'y'_unique_constraint。所以我需要以某種方式'告訴'外鍵來引用新創建的主鍵。 – DeniseMeander
你不能對外鍵約束產生任何影響。只要放棄舊的並創建新的。 – joop