我正在使用 MySQL。我有一个 select 语句,后面跟着一些使用 C 连接器完成的 insert 语句。我想知道如何将它们全部放在一个事务下并最终提交。
我看过 MySQL 5.0 Reference Manual 和C API Function Overview它有这个功能mysql_commit()
吗?我必须有一个开始事务(如何通过关闭来设置它autocommit()
),最后只提交对吗?
我正在使用 MySQL。我有一个 select 语句,后面跟着一些使用 C 连接器完成的 insert 语句。我想知道如何将它们全部放在一个事务下并最终提交。
我看过 MySQL 5.0 Reference Manual 和C API Function Overview它有这个功能mysql_commit()
吗?我必须有一个开始事务(如何通过关闭来设置它autocommit()
),最后只提交对吗?
据我了解,没有 mysql_starttransaction() 或类似的东西;所以你会遇到类似的事情:
mysql_autocommit(conn, 0);
//Do stuff here
mysql_commit(conn); //...or mysql_rollback(conn);
我宁愿对所有这些调用使用“查询”方法:
mysql_query(conn, "START TRANSACTION");
//Do stuff here
mysql_query(conn, "COMMIT"); //...or mysql_query(conn, "ROLLBACK");
另请参阅此文档。