Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

trường hợp khi cập nhật truy vấn MySQL PDO

không cố gắng gán giá trị cho cột của bạn bên trong câu lệnh CASE WHEN vì bạn đang làm điều đó.
CASE WHEN sẽ đánh giá giá trị thỏa mãn điều kiện.
hãy thử mã này

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 

Tôi đã xóa các nhiệm vụ cho các cột đã trả và đến hạn bên trong bảng sao kê.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn chậm sau khi nâng cấp mysql từ 5.5 lên 5.6

  2. Cách gọi thủ tục lưu trữ MySQL bằng Python

  3. MySQL Preferred Engine - MyISAM hoặc InnoDB

  4. Truy vấn MySQL chậm

  5. Chạy MySQL trên cổng 3307 bằng Docker Compose