Mysql
 sql >> Baza danych >  >> RDS >> Mysql

przypadek, gdy w zapytaniu aktualizacyjnym MySQL PDO

nie próbuj przypisywać wartości do swojej kolumny wewnątrz instrukcji CASE WHEN, ponieważ już to robisz.
Przypadek CASE WHEN zwróci wartość, która spełnia warunek.
Wypróbuj ten kod

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 

Usunąłem przypisania do płatnych i należnych kolumn w opisie sprawy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL pokazuje 0, nawet jeśli wyniki nie istnieją

  2. PHP/SQL:Używając tylko jednego zapytania, WYBIERZ wiersze z dwóch tabel, jeśli dane znajdują się w obu tabelach, lub po prostu WYBIERZ z jednej tabeli, jeśli nie

  3. Jak porównać wartość z wartością csv w mysql?

  4. Jak najlepiej wyświetlić w Terminalu MySQL SELECT zwracający zbyt wiele pól?

  5. Sprawdź, czy instrukcja sql zaczyna się od słowa SELECT