【问题标题】:Set AUTO_INCREMENT value in sqlite3 using knex.js使用 knex.js 在 sqlite3 中设置 AUTO_INCREMENT 值
【发布时间】:2026-01-16 09:00:02
【问题描述】:

我将knex v0.19.1Node.js 一起使用。我搜索了整个Docsknex.js,但没有找到将AUTO_INCREMENT 重置为特定值knex 方式的方法。有什么解决方法可以实现这一目标吗?或者我需要通过sqlite3 驱动程序本身以alter table TAB_NAME set AUTO_INCREMENT = 45 执行纯查询?

【问题讨论】:

    标签: auto-increment reset knex.js node-sqlite3


    【解决方案1】:

    是的。您需要使用原始查询来执行此操作,但您可以使用 knex.schema.raw() 来执行此操作。无需直接使用 sqlite3 驱动。

    【讨论】:

    • 实际上,我正在寻找利用每个唯一 ID 的方法,如果有人删除数据,则不应留下未使用的自动递增 ID。您对row 查询是正确的。你有什么建议吗?
    • 我不确定我是否正确理解了您的评论,但我有一个印象,您想重用已删除行的 ID。通常,在删除行时不会开始填充未使用的 id。如果你真的想这样做,你不应该使用 AUTO_INCREMENTING ids。
    • 您理解正确,AUTO_INCREMENT 在这种情况下无济于事。感谢您的建议。