【问题标题】:How to get the value of an autoincreament field from SQLiteDatabase in Android?如何从 Android 中的 SQLiteDatabase 获取自动增量字段的值?
【发布时间】:2013-07-09 07:58:19
【问题描述】:

我在SQLiteDatabase 有一张表,只有一列是autoincreament...

CREATE TABLE [LEADID] (
[lead_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
 )

我希望autoincrement 的值从 10000 开始。 我如何获得该列的值??? 如何放置插入和选择语句来获取自动增量值? 我基本上不知道如何调用这个表来生成这个自动增量值...... 我怎么做??

请帮忙!!!提前致谢!!

【问题讨论】:

    标签: android auto-increment sqlite


    【解决方案1】:

    您可以使用以下方法为表 mytable 设置新的自动递增起始值:

    UPDATE sqlite_sequence SET seq = 10000 WHERE name = 'mytable'
    

    如果您的表已经存在与值冲突的主键(如 10000),下一次插入将自动将自动增量值更改为 max_value+1

    【讨论】:

    • sqlite_sequence 是一个特殊的系统表,SQLite 跟踪所有表的自动增量值。 nameseq 只是该表中的列,表示表名及其起始 autoinc 值。
    • 好吧好吧!所以我的创建语句是正确的??我需要更改我的 create 语句才能使用它吗???
    • 不,您不需要 DEFAULT - 它对您没有帮助。相反,运行 CREATE TABLE 语句,然后运行 ​​UPDATE sqlite_sequence ... - 然后它将按照您想要的方式工作。
    • 这是我的创建声明CREATE TABLE [LEADID] ( [lead_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT )
    • 我也放了更新语句......但是当我做一个选择语句时,我什么也没得到
    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多