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

アップデートで数値を比較するMySQLMAX()関数?

    MySQLは、 GREATEST() 。引数のリストの中で最大の値を返します。

    UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
    

    これはANSISQLの標準関数ではないため、他のブランドのSQLデータベースで使用できることを期待しないでください。ベンダーに依存しないソリューションが必要な場合は、CASEを使用してください 他の人が提案した構文。ただし、使用する必要があるのがMySQLだけの場合、この関数はより簡潔です。




    1. MySQLビューでの最後のクエリ以降の新しいレコード

    2. 1つのデータベース内のMyISAMテーブルとInnoDBテーブル

    3. Symfony:ドライバーで例外が発生しました:mysqlでドライバーが見つかりませんでした

    4. Oracle FORLOOPSELECTステートメントの例