首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql_query项目中使用c++的多个查询

在mysql_query项目中使用c++的多个查询
EN

Stack Overflow用户
提问于 2013-10-09 11:17:04
回答 1查看 3.5K关注 0票数 3

因此,这将不适用于mysql_query。

我严格使用c++,不使用php。

我希望执行这个双重查询,以便在具有并发用户创建ID的事务处理系统中始终具有唯一的ID。

代码语言:javascript
复制
mysql_query(connection, \
"INSERT INTO User() VALUES ();  SELECT LAST_INSERT_ID(); ");

它在MySql DataBase中工作得很好,但是我需要将它添加到Eclipse中(我使用的是Ubuntu12.04LTS)。

我的应用程序是相当大的,我不想改变到mysqli,如果这是可能的,但如果没有其他方式,它将是可以的。

你能帮我做这个吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-12 14:37:34

根据MySQL C文档:

MySQL 5.6还支持执行包含由分号(“;”)字符分隔的多个语句的字符串。使用mysql_real_connect()连接到服务器时或通过调用` mysql_set_server_option()连接后指定的特殊选项启用了此功能。

和:

CLIENT_MULTI_STATEMENTS使mysql_query()和mysql_real_query()能够执行包含由分号分隔的多个语句的语句字符串。此选项还隐式地启用了CLIENT_MULTI_RESULTS,因此CLIENT_MULTI_STATEMENTS到mysql_real_connect()的标志参数等效于CLIENT_MULTI_STATEMENTS \ CLIENT_MULTI_RESULTS的参数。也就是说,CLIENT_MULTI_STATEMENTS足以启用多语句执行和所有多结果处理.

因此,您可以在一个mysql_query()调用中提供几个语句,以分号分隔,假设您使用mysql_real_connect设置您的mysql连接有点不同。您需要传递以下标志作为最后一个参数: CLIENT_MULTI_STATEMENTS,其文档中写着:

告诉服务器,客户端可以在一个字符串中发送多个语句(由“;”分隔)。如果未设置此标志,则将禁用多语句执行。有关此标志的更多信息,请参见此表后面的说明。

有关mroe的详细信息,请参阅支持多条语句执行的C连接()

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19270562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档