在使用OUTPUT
插入数据库的过程中,我试图获取插入到数据库中的新行的ID。但是,我得到了这个错误:
SQLITE_ERROR: near "OUTPUT": syntax error
字符串
下面是涉及INSERT
的代码块:
global.db.all(
`INSERT INTO articles(creation_date, publish_date, last_modified_date, title, subtitle, article_text, likes, author_id, published)
OUTPUT INSERTED.*
VALUES (CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?, ?, ?, ?);`,
newValues,
function (err, rows) {
if (err) {
next(err); //send the error on to the error handler
} else {
res.json({message: "Saved", newRow: rows});
}
}
);
型
如何使用此OUTPUT
获取所需的内容?我一直在尝试其他人提供的例子,但似乎不起作用。
1条答案
按热度按时间nuypyhwy1#
SQLite不支持
OUTPUT
子句。使用
RETURNING
:字符串
另外,如果你想让列
creation_date
、publish_date
和last_modified_date
的默认值是当前时间戳,那么在表的CREATE TABLE
语句中定义它会更简单,比如:型
然后
INSERT
语句可以简化为:型
参见demo。