'field list' - Knex.js 中的未知列“0”
Unknown column '0' in 'field list' - Knex.js
我有 Knex.js
有效的代码:
await knex('main_page_vouchers').del()
.where('country_id', '=', region_id)
return knex('main_page_vouchers')
.insert(result)
我想稍微改变一下,而不是 2 个 knex 请求,只使用一个,所以我尝试了这样的事情:
return knex('main_page_vouchers')
.where('country_id', '=', region_id)
.update(result)
似乎它必须做与第一个代码相同的事情,但事实并非如此,我得到一个错误:
code: 'ER_BAD_FIELD_ERROR',
errno: 1054,
sqlState: '42S22',
sqlMessage: "Unknown column '0' in 'field list'"
那么,我怎样才能只使用 1 个 knex
请求(第一个请求有效)?
.update(objOrAnArrayOfObjects)
和 .insert()
是不同的 SQL 操作。
Insert 允许一次将多行插入数据库,因此 .insert()
允许将对象数组传递给它。
.update(obj)
将一组值更新为与查询的 where
部分匹配的行。所以传递对象数组对更新不起作用。
我有 Knex.js
有效的代码:
await knex('main_page_vouchers').del()
.where('country_id', '=', region_id)
return knex('main_page_vouchers')
.insert(result)
我想稍微改变一下,而不是 2 个 knex 请求,只使用一个,所以我尝试了这样的事情:
return knex('main_page_vouchers')
.where('country_id', '=', region_id)
.update(result)
似乎它必须做与第一个代码相同的事情,但事实并非如此,我得到一个错误:
code: 'ER_BAD_FIELD_ERROR',
errno: 1054,
sqlState: '42S22',
sqlMessage: "Unknown column '0' in 'field list'"
那么,我怎样才能只使用 1 个 knex
请求(第一个请求有效)?
.update(objOrAnArrayOfObjects)
和 .insert()
是不同的 SQL 操作。
Insert 允许一次将多行插入数据库,因此 .insert()
允许将对象数组传递给它。
.update(obj)
将一组值更新为与查询的 where
部分匹配的行。所以传递对象数组对更新不起作用。