MySQL 5.7 的事務控制語句的介紹

feelpurple發表於2016-04-23
START TRANSACTION 或 BEGIN 語句開始一個事務

COMMIT 語句提交事務,使得資料的更改永久生效

ROLLBACK 語句回滾事務,取消對資料的更改

SET autocommit 語句禁止或啟用當前會話預設的事務自動提交功能

--例子
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @A:=SUM(deptno) FROM test;
+-----------------+
| @A:=SUM(deptno) |
+-----------------+
|             150 |
+-----------------+
1 row in set (0.00 sec)
mysql> UPDATE test SET deptno=@A WHERE deptno=10;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> commit;
Query OK, 0 rows affected (0.01 sec)

--關閉當前會話事務的自動提交功能
mysql> SET autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%commit%';
+--------------------------------+-------+
| Variable_name                  | Value |
+--------------------------------+-------+
| autocommit                     | OFF   |
| innodb_commit_concurrency      | 0     |
| innodb_flush_log_at_trx_commit | 1     |
+--------------------------------+-------+
3 rows in set (0.00 sec)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2086514/,如需轉載,請註明出處,否則將追究法律責任。

相關文章