在where in子句内的预备语句中的数组
array in prepared statement inside where in clause
prep_stmt = con->prepareStatement("SELECT * FROM table WHERE customers in ( ? ) and alive = ?");
prep_stmt->setString(1,customer_string);
prep_stmt->setInt(2,1);
res = prep_stmt->executeQuery();
这里的customer_string是"12,1,34,67,45,14"当我把它作为字符串传递时,它总是返回单行,第一个值只有12。
准备的sql语句为:
SELECT * FROM table WHERE customers in ( "12,1,34,67,45,14" ) and alive = 1
,但我希望sql语句准备为:
SELECT * FROM table WHERE customers in (12,1,34,67,45,14 ) and alive = 1
在c++中实现相同功能的最简单方法是什么?
我假设您正在使用MySQL c++连接器。不幸的是,似乎不可能使用这个API将数组作为预处理语句的参数传递:
https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-usage-notes.htmlConnector/c++不支持以下JDBC标准数据类型:ARRAY、BLOB、CLOB、DISTINCT、FLOAT、OTHER、REF、STRUCT。
您可以通过连接字符串直接将值放入查询中。注意不要引入SQL注入漏洞。或者使用其他API
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 以在Qt中的IF语句中设置时间延迟
- Craps游戏问题,忽略if语句
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- c++:定义if语句中的模板
- 在where in子句内的预备语句中的数组