"RETURNING" 附近的 SQLite 语法错误(节点)
SQLite Syntax Error near "RETURNING" (Node)
我有一个带有 Express 服务器的 Node 脚本,我正在尝试向 Table 中插入一个新条目。
如果有以下设置:
db.run('CREATE TABLE lists(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL)');
...
db.get(`INSERT INTO lists (name) VALUES (?) RETURNING *;`, [name], (err, row) => {
...
});
Insert 语句抛出:
Error: SQLITE_ERROR: near "RETURNING": syntax error
--> in Database#get('INSERT INTO lists (name) VALUES (?) RETURNING *;', [ 'Testing' ], [Function (anonymous)])
但这应该根据 sqlite wiki
有什么建议吗?
在 Sqlite 3.35 中添加了对 RETURNING
子句的支持。
- https://sqlite.org/releaselog/3_35_0.html
"Add support for the RETURNING clause on DELETE, INSERT, and UPDATE statements."
虽然您在操作系统环境中安装了 Sqlite 3.36,但您的 Node 环境似乎有一个旧版本的 sqlite3
npm 包,其中包含 Sqlite 3.34。
GitHub,截至 2021 年 11 月上旬,npm 的 sqlite3
软件包版本 5.0.2
于 2021 年 2 月与旧版本的 Sqlite 一起发布。
- 还没有 public 版本的
node-sqlite3
包与 Sqlite 3.36。
node-sqlite3
does have a commit that updated Sqlite to 3.36 但尚未发布。
我有一个带有 Express 服务器的 Node 脚本,我正在尝试向 Table 中插入一个新条目。 如果有以下设置:
db.run('CREATE TABLE lists(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL)');
...
db.get(`INSERT INTO lists (name) VALUES (?) RETURNING *;`, [name], (err, row) => {
...
});
Insert 语句抛出:
Error: SQLITE_ERROR: near "RETURNING": syntax error
--> in Database#get('INSERT INTO lists (name) VALUES (?) RETURNING *;', [ 'Testing' ], [Function (anonymous)])
但这应该根据 sqlite wiki
有什么建议吗?
在 Sqlite 3.35 中添加了对
RETURNING
子句的支持。- https://sqlite.org/releaselog/3_35_0.html
"Add support for the RETURNING clause on DELETE, INSERT, and UPDATE statements."
- https://sqlite.org/releaselog/3_35_0.html
虽然您在操作系统环境中安装了 Sqlite 3.36,但您的 Node 环境似乎有一个旧版本的
sqlite3
npm 包,其中包含 Sqlite 3.34。GitHub,截至 2021 年 11 月上旬,npm 的
sqlite3
软件包版本5.0.2
于 2021 年 2 月与旧版本的 Sqlite 一起发布。- 还没有 public 版本的
node-sqlite3
包与 Sqlite 3.36。 node-sqlite3
does have a commit that updated Sqlite to 3.36 但尚未发布。
- 还没有 public 版本的