首页 > 解决方案 > .returning() 不受 sqlite3 支持,不会有任何影响

问题描述

最近,我注意到控制台中的黄色警告说,

sqlite3 不支持 .returning() 并且不会产生任何影响。

我正在使用sqlite3带有knex.js. 它没有对输出产生任何影响,但知道它有什么价值。这是我的环境详细信息。

knex v0.19.1
sqlite3 v4.0.9
节点v10.16.9
electron-builder v21.2.0
electron v6.0.2

标签: node.jselectronknex.jselectron-buildernode-sqlite3

解决方案


在你的应用程序的某个地方有一个调用.returning(...)。由于您使用的是 sqlite3 方言,因此该调用将被忽略,并且不会对返回的数据产生任何影响。

例如:

await knex('table1').insert({ foo: 'bar' }).returning('*');

await knex('table1').insert({ foo: 'bar' });

将在 sqlite 方言上返回完全相同的内容。


推荐阅读