如何使用CASE賦值正確更新MySQL中的行?

Mary-Kate Olsen
發布: 2024-11-14 10:30:02
原創
185 人瀏覽過

How to Correctly Update Rows in MySQL Using CASE for Value Assignment?

使用CASE 進行賦值更新MySQL 中的行

為了使用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 WHEN語句的結構正確,包含各個WHEN
  • 新值的分配是使用:= 語法完成的。
  • 查詢以分號 (;) 結尾。

使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板