MariaDB トランザクションのステートメントCOMMITの動作確認サンプル

環境
OS Windows 10 Home 64bit
MariaDB 10.6.4

書式
BEGIN または START TRANSACTION でトランザクションを開始します。
COMMIT でトランザクションを終了します。変更は永続化されます。

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MariaDB [testdb]> select * from deptbl;
+-------+---------------+
| depid | depname |
+-------+---------------+
| 1001 | sysengineer |
| 1002 | sysengineer |
| 1003 | sysengineer |
| 1003 | inforengineer |
+-------+---------------+
4 rows in set (0.377 sec)
MariaDB [testdb]> select * from deptbl; +-------+---------------+ | depid | depname | +-------+---------------+ | 1001 | sysengineer | | 1002 | sysengineer | | 1003 | sysengineer | | 1003 | inforengineer | +-------+---------------+ 4 rows in set (0.377 sec)
MariaDB [testdb]> select * from deptbl;
+-------+---------------+
| depid | depname       |
+-------+---------------+
|  1001 | sysengineer   |
|  1002 | sysengineer   |
|  1003 | sysengineer   |
|  1003 | inforengineer |
+-------+---------------+
4 rows in set (0.377 sec)

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MariaDB [testdb]> begin;
Query OK, 0 rows affected (0.000 sec)
MariaDB [testdb]> begin; Query OK, 0 rows affected (0.000 sec)
MariaDB [testdb]> begin;
Query OK, 0 rows affected (0.000 sec)

更新SQL構文を実行します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MariaDB [testdb]> update deptbl set depname='admin' where depid='1001';
Query OK, 1 row affected (0.147 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [testdb]> update deptbl set depname='admin' where depid='1001'; Query OK, 1 row affected (0.147 sec) Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [testdb]> update deptbl set depname='admin' where depid='1001';
Query OK, 1 row affected (0.147 sec)
Rows matched: 1  Changed: 1  Warnings: 0

コミットを実行します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MariaDB [testdb]> commit;
Query OK, 0 rows affected (0.283 sec)
MariaDB [testdb]> commit; Query OK, 0 rows affected (0.283 sec)
MariaDB [testdb]> commit;
Query OK, 0 rows affected (0.283 sec)

3.再度検索確認

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
MariaDB [testdb]> select * from deptbl;
+-------+---------------+
| depid | depname |
+-------+---------------+
| 1001 | admin |
| 1002 | sysengineer |
| 1003 | sysengineer |
| 1003 | inforengineer |
+-------+---------------+
4 rows in set (0.003 sec)
MariaDB [testdb]> select * from deptbl; +-------+---------------+ | depid | depname | +-------+---------------+ | 1001 | admin | | 1002 | sysengineer | | 1003 | sysengineer | | 1003 | inforengineer | +-------+---------------+ 4 rows in set (0.003 sec)
MariaDB [testdb]> select * from deptbl;
+-------+---------------+
| depid | depname       |
+-------+---------------+
|  1001 | admin         |
|  1002 | sysengineer   |
|  1003 | sysengineer   |
|  1003 | inforengineer |
+-------+---------------+
4 rows in set (0.003 sec)

 

MariaDB

Posted by arkgame