自動COMMITを切る

データベース ORACLE MySQL PostgreSQL
対応状況 × ×

MySQLは起動時にデフォルトで自動COMMITになっています。
自動COMMITは大変便利なのですが、
停電などの時、自動COMMITになっていると中途半端なデータが入ってしまう場合があり
データの矛盾などが発生しやすくなります。
次の命令で自動COMMITを解除することが出来ます。

使用例

//自動COMMITをOFF
mysql> SET AUTOCOMMIT=0;

//ROLLBACKが出来るかの確認

mysql> SELECT * FROM data;
Empty set (0.00 sec)

mysql> INSERT INTO data VALUES('sasuke');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM data;
+--------+
| name   |
+--------+
| sasuke |
+--------+
1 row in set (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.05 sec)

mysql> SELECT * FROM data;
Empty set (0.00 sec)

 

コメントを残す

CAPTCHA