有没有一种方法可以删除基于两个字段的重复记录?
我有一个可以让人们注册体育赛事的系统。在表中:
event_registrations
• 唯一身份
•事件名称
•id(人的身份证号)
• 名和姓
一个人可以申请许多活动-ID可能重复
一个事件可能有多个参与者-事件名称可能重复:
--Johnsmith-- --Mountain Cycle--
--Johnsmith-- --Marathnon Walk--
--Linda-- --Mountain Cycle--
--Johnsmith-- --Mountain Cycle--
但是某人可能无法注册他们已经注册的活动:
--Johnsmith-- --Mountain Cycle--
--Johnsmith-- --Mountain Cycle--
他们通过表单选择事件名称。然后,表单数据及其用户详细信息存储在表event_registrations中。
任何帮助,将不胜感激
最佳答案
首先删除重复的(eventname, id)
组合的任何行。
然后添加UNIQUE约束:
ALTER TABLE yourTable
ADD CONSTRAINT eventname_person_Unique
UNIQUE INDEX eventname_id_U
(eventname, id) ;
添加注册的表单应进行相应调整,以处理当重复行被拒绝时从MySQL中收到的错误。
关于php - 选择从字段3到字段4的唯一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7598909/