sql >> Databasteknik >  >> RDS >> Mysql

fall när i uppdateringsfrågan MySQL PDO

försök inte tilldela värdet till din kolumn i CASE WHEN-satserna eftersom du redan gör det.
CASE WHEN kommer att utvärderas till det värde som uppfyller villkoret.
prova den här koden

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 

Jag tog bort tilldelningarna till betalda och förfallna kolumner i ärendeutdraget.




  1. Masskopiera C# till PostgreSql

  2. PHP PDO infoga flera (10000+) samma rader med bindParam. Bra övning?

  3. Söker efter telefonnummer i mysql

  4. Doktrinfråga postgres json (innehåller) json_array