如何启动将由 mysql_commit() 提交的 MySQL 事务
How to start MySQL transaction that will be committed by mysql_commit()
我正在编写一个使用 MySQL C API 连接到数据库的 C++ 应用程序。 MySQL服务器版本为5.6.19-log。
我需要在一个事务中 运行 多个 SQL UPDATE
、INSERT
和 DELETE
语句,以确保所有更改或没有更改被应用。
我在文档中找到了完成事务(提交或回滚)的函数 mysql_commit()
and mysql_rollback()
,但我找不到 启动 的相应函数一笔交易。
有这个功能吗?我是否漏掉了一些明显的东西?
I 运行 UPDATE
、INSERT
和 DELETE
语句使用 mysql_real_query()
函数。
我想我应该能够使用相同的 mysql_real_query()
函数通过 运行ning START TRANSACTION
SQL 语句启动交易。然后我应该能够使用相同的 mysql_real_query()
函数通过 运行ning COMMIT
SQL 语句提交事务。
但是,在 API 中使用专用的 mysql_commit()
和 mysql_rollback()
函数有什么意义呢?
//connect to mysql server:
MYSQL *mysql = mysql_init(NULL);
mysql = mysql_real_connect(mysql, ......)
//turn off auto_commit
mysql_autocommit(mysql , false);
或
//start a tranaction directly as follows
mysql_real_query(mysql,"BEGIN");
//run your commands:
mysql_real_query(mysql,"UPDATE...");
//commit your transaction
mysql_real_query(mysql, "COMMIT");
看起来 MySQL C API 确实没有与 START TRANSACTION
SQL 语句等效的专用函数。
MySQL C API 具有 mysql_commit()
函数,其功能与COMMIT
SQL 语句相同.
MySQL C API 具有 mysql_rollback()
函数,其作用与ROLLBACK
SQL 语句相同.
但是,这个API没有启动交易的功能。
我正在编写一个使用 MySQL C API 连接到数据库的 C++ 应用程序。 MySQL服务器版本为5.6.19-log。
我需要在一个事务中 运行 多个 SQL UPDATE
、INSERT
和 DELETE
语句,以确保所有更改或没有更改被应用。
我在文档中找到了完成事务(提交或回滚)的函数 mysql_commit()
and mysql_rollback()
,但我找不到 启动 的相应函数一笔交易。
有这个功能吗?我是否漏掉了一些明显的东西?
I 运行 UPDATE
、INSERT
和 DELETE
语句使用 mysql_real_query()
函数。
我想我应该能够使用相同的 mysql_real_query()
函数通过 运行ning START TRANSACTION
SQL 语句启动交易。然后我应该能够使用相同的 mysql_real_query()
函数通过 运行ning COMMIT
SQL 语句提交事务。
但是,在 API 中使用专用的 mysql_commit()
和 mysql_rollback()
函数有什么意义呢?
//connect to mysql server:
MYSQL *mysql = mysql_init(NULL);
mysql = mysql_real_connect(mysql, ......)
//turn off auto_commit
mysql_autocommit(mysql , false);
或
//start a tranaction directly as follows
mysql_real_query(mysql,"BEGIN");
//run your commands:
mysql_real_query(mysql,"UPDATE...");
//commit your transaction
mysql_real_query(mysql, "COMMIT");
看起来 MySQL C API 确实没有与 START TRANSACTION
SQL 语句等效的专用函数。
MySQL C API 具有 mysql_commit()
函数,其功能与COMMIT
SQL 语句相同.
MySQL C API 具有 mysql_rollback()
函数,其作用与ROLLBACK
SQL 语句相同.
但是,这个API没有启动交易的功能。