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

更新クエリの場合MySQLPDO

    すでに行っているので、CASEWHENステートメント内の列に値を割り当てようとしないでください。
    CASEWHENは、条件を満たす値に評価されます。
    このコードを試してください

    UPDATE payments SET 
     total = :total,
     paid = (CASE WHEN paid > :new THEN :new ELSE paid END),
     due = (CASE WHEN paid < :new THEN (:new - paid) ELSE due END)
     WHERE id = :id 
    

    ケースステートメント内の支払い済み列と期限付き列への割り当てを削除しました。




    1. phpとmysqlを使用したjqueryの星評価チュートリアル

    2. OracleConnectionAttunityでSSISパッケージを実行しようとしたときに問題が発生しました

    3. Oracleでのタイムゾーンに依存するsystimestampとタイムスタンプの比較

    4. SQLServerのメンテナンスプランを使用してバックアップとメンテナンスのジョブを自動化する