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

データベースフィールドを1つインクリメントします

    エントリの更新:

    単純な増分でうまくいくはずです。

    UPDATE mytable 
      SET logins = logins + 1 
      WHERE id = 12
    

    新しい行を挿入するか、すでに存在する場合は更新します:

    既存の行を更新する場合、またはまだ存在しない場合は挿入する場合は、 REPLACE 構文 または INSERT...ON DUPLICATE KEY UPDATE オプション( Rob VanDam として 彼の回答 で示されています 。

    新しいエントリの挿入:

    または、INSERT...MAX(logins)+1 ?基本的に、次のようなクエリを実行します。特定のニーズに応じて、おそらくもう少し複雑になります。

    INSERT into mytable (logins) 
      SELECT max(logins) + 1 
      FROM mytable
    


    1. SQLite JSON_EXTRACT()

    2. MySQLは日付文字列をUnixタイムスタンプに変換します

    3. これはエラーですORA-12154:TNS:指定された接続識別子を解決できませんでしたか?

    4. Oracle 11g:クエリが何も返さない場合のデフォルトは静的な値