【问题标题】:Insert record and keep primary key value插入记录并保留主键值
【发布时间】:2012-09-28 06:03:31
【问题描述】:

我有一个 SQLite 数据库和一个使用自增 int 作为主键的表。我查看了文档,似乎如果我执行插入和替换,它会删除然后在找到重复项时插入一条记录。

这很好,但问题是自动递增键从它停止的地方继续,而不是从零开始。这意味着每次我运行该查询时,记录的增量都会发生变化。是否可以在不更改主键的情况下更新记录?我发现可行的一种方法是删除表和主键索引,但这似乎有点矫枉过正,并且随着表变大可能会导致更长的时间。

【问题讨论】:

    标签: sql sqlite primary-key rowid


    【解决方案1】:

    如果记录存在,您可以对其进行更新。这不会改变主键。

    【讨论】:

    • 这是最有效的方法吗?我希望它会被内置。所以我必须检查每条记录并将数据库的往返次数加倍吗?
    • 如果你想保留主键......是的。也许您可以编写一个存储过程来一次完成并调用它。
    • 我看了,似乎 SQLite 不支持存储过程。我会用这个方法。谢谢。
    • 没有存储过程?好吧,我想这就是他们称之为 lite 的原因!
    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 2012-08-02
    • 1970-01-01
    • 2013-04-05
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多