[英]Using multiple UPDATE in MySQL
我試圖“強制”此代碼在每一行中運行並更新與上述語句匹配的每一行。
if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){
$upd = "UPDATE booking SET status='$status/ADM', verification='No'";
if($CalDate !=''){
$upd.= ",CalDate='$CalDate'";
}
if($DueDate !=''){
$upd.= ",DueDate='$DueDate'";
}
if($groupid1 != 0){
$upd.= " WHERE groupid IN ('$groupid1')";
}
if($groupid2 != 0){
$upd.= " WHERE groupid IN ('$groupid2')";
}
if($groupid1 == 0){
$upd.= " WHERE itemid IN ('$itemID1')";
}
if($groupid2 == 0){
$upd.= " WHERE itemid IN ('$itemID2')";
}
}
已知錯誤:錯誤無法更新數據原因:SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在第1行的“ WHERE itemid IN('143')”附近使用
要么該腳本要么僅更新它所經過的第一行。 至於groupid1!= 0
該錯誤可能是您構建WHERE
子句的地方。
可能是由於您要在語句中添加多個WHERE
子句。 您的SQL語句只能包含一個WHERE
子句。
例如,如果groupid1
和groupid2
不為0,則將得到以下語句:
SELECT ... WHERE groupid IN ('$groupid1') WHERE groupID IN ('$groupid2')
這顯然是無效的。 您需要改為添加單個WHERE
子句,然后使用AND
或OR
添加參數以適當地將它們分開:
SELECT ... WHERE groupid IN ('$groupid1') OR groupID IN ('$groupid2')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.