我在使用 C 语言的 mysql 连接器时遇到了一些问题。
我正在将一些(工作的)node.js 脚本转换为独立的 C 应用程序,其中一部分我需要关闭自动提交,对数据库进行两次更新并提交。
但是,每次我调用mysql_autocommit(mysql, 0);它失败 - 返回非零。我知道我的连接良好,因为我刚刚完成了一个查询并且正在对该查询的结果进行操作。
有趣的是 MySQL 日志是空的...这不是很有帮助。
有什么想法可以找出问题所在或解决问题吗? Node.js 脚本也关闭了自动提交和[显然]工作。
提前致谢
最佳答案
我在我的 C 应用程序中按以下方式使用此函数:
int main( int argc, char **argv ) {
my_bool reconnect = 1;
...
dbconnect(); // my function (-> conn)
mysql_options( conn, MYSQL_OPT_RECONNECT, &reconnect );
...
exit (0);
}
然后这段代码关闭自动提交:
mysql_autocommit( conn, 0 );
然后切换回来:
mysql_commit( conn );
mysql_autocommit( conn, 1 );
关于MySQL C 连接器/mysql_autocommit 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29035613/