जब आप पहले से ही ऐसा कर रहे हों तो CASE के अंदर अपने कॉलम को मान निर्दिष्ट करने का प्रयास न करें।
मामला कब उस मान का मूल्यांकन करेगा जो शर्त को पूरा करता है।
इस कोड को आज़माएं
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
मैंने केस स्टेटमेंट के अंदर भुगतान और देय कॉलम के असाइनमेंट को हटा दिया।