C++ XDevAPI 多个 .values
C++ XDevAPI multiple .values
我正在使用 Xcode、MySQL 和 XDevAPI。
我在数据库中有以下 table
create table TABLE(ID INT, VALUE_01 INT, VALUE_02 INT, VALUE_03 INT);
我在代码中有以下值:
Table table(session, "TABLE");
int id;
set<int> numbers;
id = 2395;
numbers.insert(1);
numbers.insert(2);
numbers.insert(3);
所以我想试试:
table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id)
.values(numbers)
.execute();
但是,我收到运行时错误:
libc++abi.dylib:终止并出现类型为 mysqlx::abi2::r0::Error 的未捕获异常:CDK 错误:插入行中的字段数错误
你能帮帮我吗?
你这里有两个问题。
首先,您调用了 values
两次而不是一次,并且两次您都使用了错误的 [number of] 参数。您应该提供 values()
每行一次 ,每次为该行中的每个字段提供一个值 (ref).
其次,std::set<int>
是 有序的 ,这意味着对于与 1、2 和 3 不同的输入,您的值可能以与您的顺序不同的顺序存储打算。
我建议改为 std::vector<int>
。
Table table(session, "TABLE");
int id;
vector<int> numbers;
id = 2395;
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id, numbers[0], numbers[1], numbers[2])
.execute();
我正在使用 Xcode、MySQL 和 XDevAPI。
我在数据库中有以下 table
create table TABLE(ID INT, VALUE_01 INT, VALUE_02 INT, VALUE_03 INT);
我在代码中有以下值:
Table table(session, "TABLE");
int id;
set<int> numbers;
id = 2395;
numbers.insert(1);
numbers.insert(2);
numbers.insert(3);
所以我想试试:
table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id)
.values(numbers)
.execute();
但是,我收到运行时错误:
libc++abi.dylib:终止并出现类型为 mysqlx::abi2::r0::Error 的未捕获异常:CDK 错误:插入行中的字段数错误
你能帮帮我吗?
你这里有两个问题。
首先,您调用了 values
两次而不是一次,并且两次您都使用了错误的 [number of] 参数。您应该提供 values()
每行一次 ,每次为该行中的每个字段提供一个值 (ref).
其次,std::set<int>
是 有序的 ,这意味着对于与 1、2 和 3 不同的输入,您的值可能以与您的顺序不同的顺序存储打算。
我建议改为 std::vector<int>
。
Table table(session, "TABLE");
int id;
vector<int> numbers;
id = 2395;
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
table.insert("ID", "VALUE_01", "VALUE_02", "VALUE_03")
.values(id, numbers[0], numbers[1], numbers[2])
.execute();