這裏有一個例子我所期待的事:MySQL爲來自多個表的列添加唯一約束?
我有3個表:
- 村(ID,姓名)
- 戶數(ID,village_id)
- 人(FIRST_NAME, last_name,household_id)
我想確保在同一個村莊裏沒有兩個人有相同的名字和姓氏。
基本上我願做這一類東西:
ALTER TABLE persons
ADD UNIQUE (first_name, last_name, households.village_id
WHERE household_id=households.id)
有沒有辦法做這樣的事情?
嗨,Simon!謝謝您的回答。在我看來,這樣做更具戰略意義的原因是因爲對於我們公司來說,當一個村莊中有幾個人同名時,似乎更應該處理例外情況,那麼就要承擔用戶的風險創造重複和混亂的數據。你的解決方案聽起來不錯,我會更詳細地研究它。謝謝 ! – 2013-03-28 05:43:19