mysql事务处理的示例
时间: 2023-10-12 09:04:53 浏览: 170
以下一个使用MySQL进行事务处理的示例:
```cpp
#include <mysql.h>
int main()
{
MYSQL* conn = mysql_init(NULL);
// 连接到MySQL数据库
if (!mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0))
{
printf("连接到MySQL数据库失败: %s\n", mysql_error(conn));
return 1;
}
// 开始事务
if (mysql_autocommit(conn, 0) != 0)
{
printf("启动事务失败: %s\n", mysql_error(conn));
mysql_close(conn);
return 1;
}
// 执行SQL语句
if (mysql_query(conn, "INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')") != 0)
{
printf("执行SQL语句失败: %s\n", mysql_error(conn));
mysql_rollback(conn); // 回滚事务
mysql_close(conn);
return 1;
}
// 执行更多的SQL语句...
// 提交事务
if (mysql_commit(conn) != 0)
{
printf("提交事务失败: %s\n", mysql_error(conn));
mysql_rollback(conn); // 回滚事务
mysql_close(conn);
return 1;
}
// 关闭数据库连接
mysql_close(conn);
return 0;
}
```
请注意,上述示例中的"username"、"password"、"database"和"table_name"需要根据实际情况进行替换。
在示例中,我们使用了`mysql_autocommit`函数来禁用自动提交,并使用`mysql_commit`函数来手动提交事务。如果在事务处理期间发生错误,我们使用`mysql_rollback`函数回滚事务。
希望这个示例对您有所帮助!如果您有任何进一步的问题,请随时提问。
阅读全文