MySQL 8.0.29でROLLBACKで変更を取り消す方法

環境
Ubuntu 22.04 LTS
MySQL 8.0.29-0ubuntu0.22.04.2

1.トランザクション実行前の状態を確認します

mysql> SELECT * FROM users;
+------+----------+
| id   | name     |
+------+----------+
| 11   | tokyo    |
| 22   | oosaka   |
| 33   | yokohama |
+------+----------+
3 rows in set (0.00 sec)

2.トランザクションを実行します

mysql>  BEGIN;
Query OK, 0 rows affected (0.00 sec)

レコードを更新します

mysql> UPDATE `users` SET `name` = "tokyo88" WHERE `id` = 11;
Query OK, 1 row affected (1.61 sec)
Rows matched: 1  Changed: 1  Warnings: 0

3.レコード更新の確認

mysql> SELECT * FROM users;
+------+----------+
| id   | name     |
+------+----------+
| 11   | tokyo88  |
| 22   | oosaka   |
| 33   | yokohama |
+------+----------+
3 rows in set (0.00 sec)

4.ROLLBACKを実行します

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

5.ROLLBACK で終了したので、レコードは更新されていません。

mysql>  SELECT * FROM users;
+------+----------+
| id   | name     |
+------+----------+
| 11   | tokyo    |
| 22   | oosaka   |
| 33   | yokohama |
+------+----------+
3 rows in set (0.00 sec)

 

MySQL

Posted by arkgame