簡體   English   中英

MySQL為所有用戶更新多行

[英]MySQL Update multiple rows for all users

我在這頭上撓頭。

我必須為數據庫表中在該數據庫表中具有多個條目的所有用戶更新分數字段……但是,如果滿足以下參數/約束之一,它只會更新分數字段。

例如,表中有2行(每個用戶)有2位守門員,但其中只有一行將被更新。 以下工作有效,但僅在有一個用戶的情況下...因此數據庫表中只有2行可供2位守門員使用。

$result = mysqli_query($db,"UPDATE Points 
SET Points.Score=(SELECT Week_22.TP FROM Week_22 WHERE    
Week_22.Player=Points.Player) 
WHERE Position='Goalkeeper' AND Active='yes' AND Played='yes'
OR Position='Goalkeeper' AND Active='no' AND Played='yes'
OR Position='Goalkeeper' AND Active='no' AND Played='no'
LIMIT 1
");

我以為GROUP BY可能有效,但沒有運氣。 因此,我無法考慮如何擴展以上內容以使其適用於表中的每個字段和用戶。

任何幫助,將不勝感激。

您需要在WHERE子句中添加括號以分隔3個主要的“ OR”邏輯語句

$result = mysqli_query($db,"UPDATE Points 
SET Points.Score=(SELECT Week_22.TP FROM Week_22 WHERE    
Week_22.Player=Points.Player) 
WHERE (Position='Goalkeeper' AND Active='yes' AND Played='yes')
OR (Position='Goalkeeper' AND Active='no' AND Played='yes')
OR (Position='Goalkeeper' AND Active='no' AND Played='no')
");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM