MySQL :: MySQL 8.0 Reference Manual :: 28.7.7.6 mysql_commit() https://dev.mysql.com/doc/refman/8.0/en/mysql-commit.html
bool mysql_commit(MYSQL *mysql)
Commits the current transaction.
The action of this function is subject to the value of the completion_type
system variable. In particular, if the value of completion_type
isRELEASE
(or 2), the server performs a release after terminating a transaction and closes the client connection. Call mysql_close()
from the client program to close the connection from the client side.
None.
MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server System Variables https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_completion_type
Property | Value |
---|---|
Command-Line Format | --completion-type=# |
System Variable | completion_type |
Scope | Global, Session |
Dynamic | Yes |
SET_VAR Hint Applies |
No |
Type | Enumeration |
Default Value | NO_CHAIN |
Valid Values |
|
The transaction completion type. This variable can take the values shown in the following table. The variable can be assigned using either the name values or corresponding integer values.
Value | Description |
---|---|
NO_CHAIN (or 0) |
COMMIT and ROLLBACK are unaffected. This is the default value. |
CHAIN (or 1) |
COMMIT and ROLLBACK are equivalent to COMMIT AND CHAIN and ROLLBACK AND CHAIN , respectively. (A new transaction starts immediately with the same isolation level as the just-terminated transaction.) |
RELEASE (or 2) |
COMMIT and ROLLBACK are equivalent to COMMIT RELEASE and ROLLBACK RELEASE , respectively. (The server disconnects after terminating the transaction.) |
completion_type
affects transactions that begin with START TRANSACTION
or BEGIN
and end with COMMIT
or ROLLBACK
. It does not apply to implicit commits resulting from execution of the statements listed in Section 13.3.3, “Statements That Cause an Implicit Commit”. It also does not apply for XA COMMIT
, XA ROLLBACK
, or when autocommit=1
.
理解commit
13.3.1 START TRANSACTION, COMMIT, and ROLLBACK Syntax
START TRANSACTION
[transaction_characteristic [, transaction_characteristic] ...]
transaction_characteristic: {
WITH CONSISTENT SNAPSHOT
| READ WRITE
| READ ONLY
}
BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET autocommit = {0 | 1}
These statements provide control over use of transactions:
-
START TRANSACTION
orBEGIN
start a new transaction. -
COMMIT
commits the current transaction, making its changes permanent. -
ROLLBACK
rolls back the current transaction, canceling its changes. -
SET autocommit
disables or enables the default autocommit mode for the current session.
MySQL :: MySQL 8.0 Reference Manual :: 13.3.1 START TRANSACTION, COMMIT, and ROLLBACK Syntax https://dev.mysql.com/doc/refman/8.0/en/commit.html
【如果在select读的情况下,假如认为对数据库无影响无烙印的操作,那么commit提交,就没有必要】
【连接的关闭:分为客户端、mysql服务端,都可以发起关闭】