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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何解決這個(gè)復(fù)雜的 MySQL 查詢問題

如何解決這個(gè)復(fù)雜的 MySQL 查詢問題

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

1 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

它實(shí)際上非常簡單 - 您所需要的只是對兩個(gè)相關(guān)列的組合的唯一約束:


ALTER TABLE activityParticipant

ADD UNIQUE (activityId, personId);

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


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


ALTER TABLE activityParticipant

ADD UNIQUE (date, personId);

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


查看完整回答
反對 回復(fù) 2023-09-15
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

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