Con una semplice operazione comeMysql transazione rollback in caso di errore in aggiornamento
START TRANSACTION;
UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';
.. other queries ...
COMMIT;
voglio eseguire l'operazione solo una volta quando si cambia lo stato; ma il precedente UPDATE
non restituirà un errore per il rollback della transazione quando nessuna riga viene aggiornata.
Come limitare la transazione al commit solo se la riga viene aggiornata (intendo lo stato modificato).
Perfetto! In effetti, sono in PHP :) – Googlebot
@Ali Raccomando di aggiornare i tag rispetto a: P – Vyktor
Non eseguire "le altre query" e quindi ripristinarle, è un po 'inutile. Basta spostarli nello stesso blocco di codice di COMMIT, in modo che vengano eseguiti solo se necessario (al contrario di eseguire sempre, quindi di eseguire il rollback a volte). – MatBailie