Skip to content

Commit 0d76b3f

Browse files
committed
Upsert test.
1 parent ef1bad4 commit 0d76b3f

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

test/upsert.test.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var sqlite3 = require('..');
2+
var assert = require('assert');
3+
4+
describe('query properties', function() {
5+
var db;
6+
before(function(done) {
7+
db = new sqlite3.Database(':memory:');
8+
db.run("CREATE TABLE foo (id INT PRIMARY KEY, count INT)", done);
9+
});
10+
11+
it('should upsert', function(done) {
12+
var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
13+
stmt.run(1, 1, function(err) { // insert 1
14+
if (err) throw err;
15+
var upsert_stmt = db.prepare("INSERT INTO foo VALUES(?, ?) ON CONFLICT (id) DO UPDATE SET count = count + excluded.count");
16+
upsert_stmt.run(1, 2, function(err) { // add 2
17+
if (err) throw err;
18+
var select_stmt = db.prepare("SELECT count FROM foo WHERE id = ?");
19+
select_stmt.get(1, function(err, row) {
20+
if (err) throw err;
21+
assert.equal(row.count, 3); // equals 3
22+
});
23+
})
24+
});
25+
db.wait(done);
26+
});
27+
});

0 commit comments

Comments
 (0)