sql >> データベース >  >> RDS >> Mysql

同じ列に複数のWHERE句があるMYSQLUPDATESET

    このようなものがあなたのために働くはずです:

    UPDATE CustomerDetails_COPY
        SET Category_ID = CASE Category_ID
            WHEN 2 THEN 10 
            WHEN 3 THEN 9
            WHEN 4 THEN 12
            WHEN 5 THEN 11
        END
    WHERE Category_ID IN (2,3,4,5)
    

    または、Simonが提案したように、これを実行して、値を2回入力する手間を省くことができます。

    UPDATE CustomerDetails_COPY
        SET Category_ID = CASE Category_ID
            WHEN 2 THEN 10 
            WHEN 3 THEN 9
            WHEN 4 THEN 12
            WHEN 5 THEN 11
            ELSE Category_ID
        END
    

    出典: http://www.karlrixon.co.uk/writing/update-multiple-rows-with-different-values-and-a-single-sql-query/



    1. Debian 5のphpMyAdminでMySQLを管理する(Lenny)

    2. SQLServerのSTATISTICSTIMEとは何ですか?

    3. AJAX + jQuery+PHPを使用してMySQLにデータを送信する

    4. XLSXシートを読み取り、PHPExcelを使用してMySQLテーブルにフィードする