出现TypeError: o.default不是构造函数的错误
通常是因为在使用better-sqlite3
模块时,未正确引入并实例化构造函数。
以下是一个包含代码示例的解决方法:
const Database = require('better-sqlite3');
// 创建数据库实例
const db = new Database('example.db');
// 创建表
const createTable = db.prepare('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)');
createTable.run();
// 插入数据
const insertUser = db.prepare('INSERT INTO users (name) VALUES (?)');
insertUser.run('John Doe');
// 查询数据
const selectUsers = db.prepare('SELECT * FROM users');
const users = selectUsers.all();
console.log(users);
// 关闭数据库连接
db.close();
请确保已正确安装better-sqlite3
模块,并使用require
语句引入构造函数Database
。然后,通过实例化构造函数创建一个数据库实例,并使用该实例执行相关操作。最后,记得关闭数据库连接。
这个示例代码创建一个名为example.db
的SQLite数据库文件,并在其中创建一个名为users
的表。然后,插入一条名为John Doe
的用户数据,并查询所有用户数据并打印出来。最后,关闭数据库连接。
确保在使用之前,将name
字段的数据类型设置为正确的类型,并根据需要更改查询和插入语句。
希望这个解决方法能帮到你!