Workbenchで自動でコミットしない方法
Workbenchで自動コミットしない設定にする
MacのトップメニューのMySQLWorkbench から Preference を押下します。SQL Executionの項目から、New connections use auto commit modeのチェックを外します。以下のWorkbenchの操作は自動コミットしない場合の動作です。

自動コミットしない場合の動作を確認する
Workbenchで以下のSQLを実行します。UPDATEで更新しても、まだコミットされていません。
SELECT trx_rows_locked FROM information_schema.INNODB_TRX;
を実行すると、ロック中のトランザクションの数が確認できます。
UPDATE test.users SET name = "taro" where id = 2;
SELECT trx_rows_locked FROM information_schema.INNODB_TRX;
trx_rows_lockedが1と表示されます。
SELECT * FROM test.users;
idが2のレコードがtaroに変更されていますが、コミットはされていないことに注意して下さい。コミットされていない場合、Workbenchを停止したときに、rollbackされてしまいます。
コミットしたい場合
UPDATE test.users SET name = "jiro" where id = 3;
COMMIT;
SELECT trx_rows_locked FROM information_schema.INNODB_TRX;
trx_rows_lockedが0と表示されます。コミットがされたので、ロック中のレコードは無いことを意味しています。Workbenchを終了しても、更新した内容は残っています。
ロールバックしたい場合
UPDATE test.users SET name = "久兵衛" where id = 1;
ROLLBACK;
SELECT trx_rows_locked FROM information_schema.INNODB_TRX;
trx_rows_lockedが0と表示されます。
SELECT * FROM test.users;
などを実行してテーブルが変更されていないことを確認します。
MySQLのWorkbenchのページ一覧
・Workbench入門
・Workbenchでcsvをインポートする方法
・MySQLのWorkbenchでカラムの順番を変更する
・SQLでカラムを一括して更新したい
・Workbenchで自動でコミットしない方法
・MySQLで更新するデータに別の列の値を使用する
・Workbenchでboolean型のカラムを追加するとtinyint型に変えられてしまう
・Workbenchでデータベースをimportする
