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

条件付きの重複キー更新で?

    別のオプション:

    INSERT INTO tbl (count, otherID) 
      VALUES (2, 'a') 
    ON DUPLICATE KEY UPDATE 
      count = GREATEST(VALUES(count), count) ;
    

    警告: countに渡された値の場合、これは失敗します NULLです (2の代わりに )。列をNULLで更新します 。したがって、IF()を使用することをお勧めします またはCASE 句。

    あなたが好まない限り(優雅さがあります...):

    ON DUPLICATE KEY UPDATE 
      count = GREATEST(COALESCE(VALUES(count), count), count) ;
    


    1. Crontab/Cronを使用してMySQLデータベースを自動的にチェックおよび最適化する

    2. シーケンス番号をリセットして連続させるにはどうすればよいですか?

    3. Mysqlはテーブルにない場所を選択します

    4. Mysql-Mysql2 ::Error:文字列値が正しくありません: