我在使用C语言中的mysql连接器时遇到了一些麻烦。
我正在将一些(工作)node.js脚本转换为独立的C应用程序,对于其中的一部分,我需要关闭自动提交,对数据库进行两次更新并提交。
但是,每次调用mysql_autocommit(mysql,0);它失败了 - 返回非零。我知道我的连接很好,因为我刚刚完成了一个查询,并且我正在对该查询的结果进行操作。
有趣的是MySQL日志是空的......这不是很有用。
任何想法如何找出问题是什么,或解决它? Node.js脚本也关闭了自动提交和[显然]工作。
提前致谢
答案 0 :(得分:0)
我在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 );