这里有一个例子我所期待的事: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