【发布时间】:2011-09-29 14:33:13
【问题描述】:
有没有办法删除基于两个字段的重复记录?
我有一个系统,人们可以在其中注册体育赛事。表中:
event_registrations
• unique_id
• 事件名称
• id(人的身份证号码)
• 姓名
一个人可以申请多个活动 - id可能重复
一个事件可能有多个参与者 - 事件名称可能重复:
--Johnsmith-- --Mountain Cycle--
--Johnsmith-- --Marathnon Walk--
--Linda-- --Mountain Cycle--
--Johnsmith-- --Mountain Cycle--
但是一个人可能不会注册他们已经注册的活动:
--Johnsmith-- --Mountain Cycle--
--Johnsmith-- --Mountain Cycle--
他们通过表格选择事件名称。然后表单数据及其用户详细信息存储在表 event_registrations 中。
任何帮助将不胜感激
【问题讨论】:
-
您可以通过在
(eventname,personid)上添加UNIQUE约束来禁止它 -
如何在字段组合中添加一个?
-
我搞定了,谢谢 ypercube
-
@SebastianOpperman - 另外,如果您已经有一个可以引用的
Person表,那个 表应该包含name和surname列,并且它应该从event_registrations表中删除(我建议将id重新命名为person_id,以使来源显而易见)。哦,您可能应该创建一个event表,并为其存储一个外键,而不是名称 - 例如,当有人输入正确的“马拉松”拼写时会发生什么?
标签: php mysql sql database forms