為了使用CASE WHEN 語句更新MySQL 資料庫中的特定行,必須遵循正確的語法。提供的查詢嘗試根據 ID 值更新價格,並示範了 CASE 語句的錯誤用法。
要解決此問題,正確的更新查詢應如下所示:
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END;
在此更正的查詢中,請注意:
使用 CASE 更新行當根據特定條件分配不同的值時,語句非常有用。但是,請務必注意,所提供的查詢將更新所有記錄的價格,無論其 ID 為何。如果目標是僅更新查詢中提到的特定 ID,則可以使用以下方法:
UPDATE ae44 JOIN ( SELECT 'AT259793380' AS oldval, '500' AS newval UNION ALL SELECT 'AT271729590' AS oldval, '600' AS newval UNION ALL SELECT 'AT275981020' AS oldval, '700' AS newval ) q ON ae44.id = q.oldval SET price = q.newval;
以上是如何使用CASE賦值正確更新MySQL中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!