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

重複キーの更新について-複数の列

    さて、これは古いです。ただし、もちろん、値を指定する必要があるのは1回だけです。 、クエリに2回追加する理由はありません(複数の挿入やプリペアドステートメントに便利です):

    INSERT INTO table1
      (col1, col2, col3, col4)
    VALUES
      ('val1', 'val2', 'val3', 'val4')
    ON DUPLICATE KEY UPDATE
      col2=VALUES(col2),
      col3=VALUES(col3) [,...]
    

    これには、複数の挿入ステートメントでも機能するという利点があります:

    INSERT INTO table1
      (col1, col2, col3, col4)
    VALUES
      ('val1', 'val2', 'val3', 'val4'),
      ('val5', 'val6', 'val7', 'val8'),
      ('val9', 'val10', 'val11', 'val12')
    ON DUPLICATE KEY UPDATE
      col2=VALUES(col2),
      col3=VALUES(col3) [,...]
    


    1. SQLは、列の最大値を持つ行のみを選択します

    2. タグクラウド用のMySqlテーブルを設計する方法は?

    3. MySQL INSERT INTO [temp table] FROM [Stored Procedure]

    4. 秒を日、時間、分、秒に変換する(MySQL)