相关疑难解决方法(0)

如何使用knex使用"Insert ... ON DUPLICATE KEY UPDATE"添加多行

所以我最近一直在玩knex,但是我发现自己处于一种我不知道该怎么办的情况.

所以我有这个问题:

knex.raw("INSERT INTO tablename (`col1`, `col2`, `col3`) VALUES (?, ?, ?) 
ON DUPLICATE KEY UPDATE col2 = VALUES(`col2`)", 
[
    ['val1', 'hello', 'world'],
    ['val2', 'ohayo', 'minasan'],
]);
Run Code Online (Sandbox Code Playgroud)

由于某些原因,它给我一个错误Expected 2 bindings, saw 3.

我试过去做:

knex.raw("INSERT INTO tablename (`col1`, `col2`, `col3`) VALUES (?, ?, ?) 
ON DUPLICATE KEY UPDATE col2 = VALUES(`col2`)", 
    ['val1', 'hello', 'world'],
    ['val2', 'ohayo', 'minasan'],
);
Run Code Online (Sandbox Code Playgroud)

这次没有错误,但它只插入第一个数组.

我也尝试将值设为对象:

[
    {col1: 'val1', col2: 'hello', col3: 'world'},
    {col1: 'val2', col2: 'ohayo', col3: 'minasan'},
]
Run Code Online (Sandbox Code Playgroud)

但仍然没有运气.

mysql node.js knex.js

2
推荐指数
2
解决办法
3781
查看次数

标签 统计

knex.js ×1

mysql ×1

node.js ×1