當有一列引用另一列時,我很努力尋找最佳方式來更新該列,同時保持引用完整性。例如,如果我有一張標籤和說明表以及兩個條目:更新Postgres中引用的列
Label | Description
------------------------------------
read | This item has been read
READ | You read this thing already
現在,我不希望這些副本。我想向不允許大小寫不重複的值的列添加一個約束,如示例中所示。但是,我有幾行其他幾個引用'READ'的表,這是我想要刪除的表。
我知道Postgres知道其他行的哪個字段引用了這個,因爲只要他們在那裏,我就不能刪除它。那麼,我怎麼能得到任何引用它的字段來更新爲'read'?這只是一個例子,實際上我有幾個地方想要這樣做。另一個例子實際上是一些表的int主鍵,我想在其中添加一個新的表作爲一種「基表」,現有的表可以擴展,所以他們現在都需要有唯一的ID,這意味着更新他們擁有的。
我很開放食譜的功能,我可以添加到做到這一點,我可以利用的工具,或其他任何東西。
mmm ...如果你有'閱讀'和'閱讀'你將無法更新。我認爲所有參考表都應該更新,然後'READ'的記錄下降。對外鍵使用「ON DELETE RESTRICT」,不會有任何風險遺漏。 – piro 2008-10-26 18:43:49
爲什麼不呢?你只需要小心地正確更新,只有那些'讀' – 2008-10-26 19:18:07