第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決這個復雜的 MySQL 查詢問題

如何解決這個復雜的 MySQL 查詢問題

PHP
qq_花開花謝_0 2023-09-15 10:24:17
我遇到了復雜的 PHP MySQL 查詢問題。我希望你能幫助我。我盡力盡可能清楚地解釋一切。這里有2個表(活動表和活動參與者表)這是一對多的關系注冊信息存儲在活動參與者表中。為了清楚起見,我還在解釋中包含了活動表。表格活動activityId      name            1               Activity-012               Activity-023               Activity-034               Activity-04 表格活動參與者activityParticipantId   activityId      personId    date            55                      1               28115       2020-05-2866                      2               34496       2020-05-2867                      3               34635       2020-05-2888                      4               12992       2020-05-28此處要編寫的查詢必須滿足這些條件。一個人想要注冊一個活動(例如:activityId -> 1)。然后你得到這個人的personID(例如:235625)在activityParticipant表中,必須檢查該人之前是否沒有注冊過他想要注冊的活動,并檢查同一個人是否已經(jīng)注冊過另一個活動,但這兩個活動不屬于同一日期。不幸的是我無法解決這個問題。我希望你能幫助我。
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經(jīng)驗 獲得超3個贊

它實際上非常簡單 - 您所需要的只是對兩個相關列的組合的唯一約束:


ALTER TABLE activityParticipant

ADD UNIQUE (activityId, personId);

現(xiàn)在,當您嘗試插入與另一行重復的行時(例如人員 235625 想要第二次注冊活動 1),查詢將失敗并出現(xiàn)錯誤。


要解決“同一個人在同一日期不能進行兩項活動”問題,您可以對personId和date執(zhí)行相同的操作:


ALTER TABLE activityParticipant

ADD UNIQUE (date, personId);

現(xiàn)在,235625 號人員無法在同一天注冊兩項不同的活動。


查看完整回答
反對 回復 2023-09-15
  • 1 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號