【发布时间】:2019-09-21 19:30:06
【问题描述】:
我使用 sqlite3 作为我的数据库并使用sequelize 库来处理它。
我有一个模块,想在截断后重置 autoIncrement 主键。
var logModule = db.logModule()
logModule.destroy({
where:{},
truncate: true
})
但我发现这种方式只是清除表中的所有记录,并没有将autoIncrement 主键重置为零。
清除表中的所有记录后,有什么方法可以重置主键?
【问题讨论】:
-
sqlite 中自动增量的全部意义在于 rowid 永远不会被重用。在定义
INTEGER PRIMARY KEY列时忽略自动增量,或者直接使用它。无论如何,rowid 是什么都不重要。如果你让 sqlite 选择 rowid,你永远不会接近最大值......
标签: node.js sqlite sequelize.js