我的表结构:
sqlite3 <<< '.dump' bdd.sqlite
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE stats (epoch INTEGER PRIMARY KEY, scenario TEXT, image_path TEXT, exec_time INTEGER, result TEXT, passed TEXT);
COMMIT;
我的JavaScript代码:
const sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('./bdd.sqlite');
db.run(`INSERT INTO stats VALUES(?,?,?,?,?,?)`, [ Date.now(), 'foobar', 'none', 'OK', '', 'passed OK' ], function(err) {
if (err) {
return console.log(err.message);
}
// get the last insert id
console.log(`A row has been inserted with rowid ${this.lastID}`);
});
db.close();
我做错了什么?
当我运行nodejs
脚本时,什么也没添加也没有错误
答案 0 :(得分:0)
解决方案,请不要使用此#*!%npm-sqlite3
模块,而应使用npm-better-sqlite3
。
npm
上的某些模块确实很糟糕。
所以我写的用来做事的东西与better-sqlite3一起工作:
const db = require('better-sqlite3')('bdd.sqlite');
const stmt = db.prepare('INSERT INTO stats VALUES (?, ?, ?, ?, ?, ?)');
const info = stmt.run(Date.now(), 'relais', 'none', 'OK', '', 'passed OK');
console.log(info.changes); // => 1