私が実際にはまった出来事ですが、MySQLを使用したバッチ(sh)を作成しました。
トランザクション開始
trancate処理
update処理
正常時は、commit処理
異常時は、rollback処理
で作成しました。
正常時は、問題ありませんでしたが
異常時にrollbackされず頭を悩まされました。
なんでだろ~と調べると…
trancateはトランザクション外になるため
rollbackが使用できないみたいです。
なのでtrancateではなくdeleteを使用すると良いみたいですね!