回覆列表
  • 1 # 使用者2442513670858

    有啊,比如when和then語句就可以實現批次更新語句

    UPDATE table_own SET

    cloumn_own= CASE id

    WHEN 1 THEN "a"

    WHEN 2 THEN "b"

    WHEN 3 THEN "c"

    END

    WHERE id IN (1,2,3);

    這個批次更新語句的意思就是說,更新cloumn_own欄位,如果id=1 則cloumn_own=a,如果id=2 則cloumn_own=b,如果id=3 則cloumn_own=c

    記住,其實end 後面的where語句是不可必需的,但最好是帶上

    如果不加where條件,會使整個表的資料更新,不滿足條件的對應的值會設定成預設值(導致你執行的前面n-1次都是無效,保留的是第n次)

    帶上where條件的話,就不會出現這種情況了

  • 2 # lanfengz3

    MYSQL資料庫欄位內容批次更新:

    利用sql中case when結構可以根據不同的條件批次更新,舉例如下:

    UPDATE order

    SET display_order = CASE id

    WHEN 1 THEN "value"

    WHEN 2 THEN "value"

    WHEN 3 THEN "value"

    END

    WHERE id IN (1,2,3)

    這句sql的意思是,更新display_order 欄位,如果id=1 則display_order 的值為3,如果id=2 則 display_order 的值為4,如果id=3 則 display_order 的值為5。

  • 中秋節和大豐收的關聯?
  • 汽車與電動車發生交通事故責任如何劃分?