mysql - 使用 C 连接器将选择和多个插入作为事务执行?

标签 mysql c transactions

我正在使用 MySQL。我有一个选择语句,后面跟着一些使用 C 连接器完成的插入语句。我想知道如何将它们全部放在一个事务中并最终提交。

我已经阅读了 MySQL 5.0 引用手册和 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"); 

还有 see this documentation .

关于mysql - 使用 C 连接器将选择和多个插入作为事务执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11526369/

相关文章:

php - 如何显示MySQL表中的行数等于3的倍数的内容

c - 如何将句子扫描到字符串数组中?

java - 枚举具有 N 个元素的一维数组的所有 k 分区?

c - 从动态分配的内存打印时值发生变化

django - 诊断零星的 Django/Postgres "DatabaseError: current transaction is aborted"

php - 在同一个对象中获取一个线程及其最新的帖子,latest() 会产生巨大的开销

mysql - 简化这个 MySQL select - 我真的希望 concat_ws 生成 null

unit-testing - Grails:如何在使用 Spock 进行单元测试时将值保存到 transient 字段?

MySQL - 替换列字符串中的特定字符

Delphi + FireDAC 在ApplyUpdates 上获取数据库错误