使用C Connector执行select和多次插入作为事务?

时间:2012-07-17 15:57:29

标签: mysql c transactions

我正在使用MySQL。我有一个select语句后跟一些使用C Connector完成的insert语句。我想知道如何将它们全部放在一个事务中,然后最终提交。

我已经阅读了MySQL 5.0参考手册和C API Function Overview它有这个功能mysql_commit()?我必须有一个启动事务(如何通过关闭autocommit()来设置它,最后只提交权限?

1 个答案:

答案 0 :(得分:4)

据我所知,没有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"); 

see this documentation