constSqlite3=require('sqlite3')const db =Sqlite3.open('./test.db')
db.run('CREATETABLEif not exists user(name text, age int);');
db.run('INSERTINTO user VALUES("Jack",23);');
db.run('INSERTINTO user VALUES("Rose",21);');
function queryCallback(row){
console.log('name', row.name,'age', row.age);}
db.run('SELECT*FROM user;', queryCallback);[JSRE-CON]name Jack age 23[JSRE-CON]name Rose age 21
4. SQLite3のトランザクション操作
sqlite3 モジュールはデータベース トランザクション操作 API も提供します。データベース トランザクションは、さまざまなデータ項目にアクセスして操作する一連のデータベース操作です。これらの操作はすべて実行されるか、まったく実行されず、分割できない作業単位です。トランザクションは、トランザクションの開始から終了までの間に実行されるすべてのデータベース操作で構成されます。
db.begin(): Begin インターフェースはトランザクションを開きます。これは db.run(‘BEGIN;’) と同じです。
constSqlite3=require('sqlite3')const db =Sqlite3.open('./test.db')
db.run('CREATETABLEif not exists user(name text, age int);');
db.begin();
db.run('INSERTINTO user VALUES("Jack",23);');
db.run('INSERTINTO user VALUES("Rose",21);');
db.commit();
db.begin();
db.run('INSERTINTO user VALUES("Allson",23);');
db.run('INSERTINTO user VALUES("Babs",21);');
db.rollback()
db.begin();
db.run('INSERTINTO user VALUES("Chrissie",23);');
db.run('INSERTINTO user VALUES("Debby",21);');
db.commit();
function queryCallback(row){
console.log('name', row.name,'age', row.age);}
db.run('SELECT*FROM user;', queryCallback);// 运行实际输出结果[JSRE-CON]name Jack age 23[JSRE-CON]name Rose age 21[JSRE-CON]name Chrissie age 23[JSRE-CON]name Debby age 21