Próbuję utworzyć transakcję w MySql, która zostanie wycofana, gdy wystąpi wyjątek podczas transakcji. Podobne użycie następujących w procedurze przechowywanej.Skrypt MySQL z wycofywaniem przy błędzie
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
Czy można to zrobić bez zapisywania procedury przechowywanej? Na przykład poniższy fragment powinien wycofać pierwszą wstawkę, ponieważ druga wstawka nie powiedzie się.
START TRANSACTION;
INSERT INTO mytable VALUE 'foo1',2,'foo3','foo4'
INSERT INTO mytable VALUE 'foo1','foo2','foo3','foo4'
COMMIT
Czy używasz PHP? Jak to można osiągnąć po stronie programowania. –
Brak PHP po prostu SQL. Mogę wykonać w Javie, ale wymagania wymagają tylko skryptu SQL. – Damien
Dlaczego nie użyłeś procedury przechowywanej? –