[英]How can I solve this complicated MySQL Query problem
我遇到了復雜的 PHP MySQL 查詢問題。 我希望你能幫助我。 我盡我所能盡可能清楚地解釋一切。
表格活動
activityId name
1 Activity-01
2 Activity-02
3 Activity-03
4 Activity-04
表格活動參與者
activityParticipantId activityId personId date
55 1 28115 2020-05-28
66 2 34496 2020-05-28
67 3 34635 2020-05-28
88 4 12992 2020-05-28
這里要寫的查詢必須滿足這些條件。
不幸的是我無法解決這個問題。 我希望你能幫助我。
提前致謝
這實際上很容易——您所需要的只是對兩個相關列的組合的 UNIQUE 約束:
ALTER TABLE activityParticipant
ADD UNIQUE (activityId, personId);
現在,當您嘗試插入與另一行重復的行時(例如 person 235625 想要第二次注冊活動 1),查詢將失敗並出現錯誤。
要解決“同一個人在同一日期沒有兩項活動”的問題,您可以對personId和date執行相同的操作:
ALTER TABLE activityParticipant
ADD UNIQUE (date, personId);
現在,人 235625 無法在同一日期注冊兩個不同的活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.