Mysql
 sql >> база данни >  >> RDS >> Mysql

случай, когато в заявка за актуализиране MySQL PDO

не се опитвайте да присвоите стойността на вашата колона в операторите CASE WHEN, тъй като вече го правите.
CASE WHEN ще изчисли стойността, която отговаря на условието.
опитайте този код

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Номер на ред за група в mysql

  2. Laravel 5.4 дава грешен размер на отговора COM_STMT_PREPARE

  3. MYSQL Изберете един произволен запис от всяка категория

  4. MySQL Конвертиране на низ към дата Изчислете възрастта и подредете по възраст

  5. Как да запишете генерирани PDF файлове в MySQL база данни с помощта на Java?