.\" Automatically generated by Pandoc 3.5 .\" .TH "mysql_autocommit" "3" "" "Version 3.4" "MariaDB Connector/C" .SS Name mysql_autocommit \- Toggles autocommit mode .SS Synopsis .IP .EX #include \f[B]\f[R] my_bool mysql_autocommit(MYSQL * mysql, my_bool auto_mode); .EE .SS Description Toggles autocommit mode on or off for the current database connection. Autocommit mode will be set if mode=1 or unset if mode=0. .SS Parameters: .IP \[bu] 2 \f[CR]mysql\f[R] is a connection identifier, which was previously allocated by \f[B]mysql_init(3)\f[R] and connected by \f[B]mysql_real_connect(3)\f[R]. .IP \[bu] 2 \f[CR]auto_mode\f[R] \- whether to turn autocommit on or not. .SS Notes .IP \[bu] 2 Autocommit mode only affects operations on transactional table types. To determine the current state of autocommit mode use the SQL command \f[CR]SELECT \[at]\[at]autocommit\f[R] or check the server status (see example below). .IP \[bu] 2 Be aware: the [mysql_rollback()}(mysql_rollback() function will not work if autocommit mode is switched on. .SS Examples .SS SQL .IP .EX # Turn \f[B]off\f[R] autocommit \f[B]SET\f[R] AUTOCOMMIT=0; # Retrieve autocommit \f[B]SELECT\f[R] \[at]\[at]autocommit; +\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R] | \[at]\[at]autocommit | +\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R] | 0 | +\f[I]\-\-\-\-\-\-\-\-\-\-\-\-\-\-+\f[R] .EE .SS MariaDB Connector/C .IP .EX static int test_autocommit(MYSQL *mysql) { int rc; unsigned int server_status; \f[I]/* Turn autocommit off */\f[R] rc= mysql_autocommit(mysql, 0); \f[B]if\f[R] (rc) \f[B]return\f[R] rc; \f[I]/* Error */\f[R] \f[I]/* If autocommit = 0 succeeded, the last OK packet updated the server status */\f[R] rc= mariadb_get_infov(mysql, MARIADB_CONNECTION_SERVER_STATUS, &server_status); \f[B]if\f[R] (rc) \f[B]return\f[R] rc; \f[I]/* Error */\f[R] \f[B]if\f[R] (server_status & SERVER_STATUS_AUTOCOMMIT) { printf(\[dq]Error: autocommit is on\[rs]n\[dq]); \f[B]return\f[R] 1; } printf(\[dq]OK: autocommit is off\[rs]n\[dq]); \f[B]return\f[R] 0; } .EE