当前位置:  开发笔记 > 数据库 > 正文

Android SQLite自动增量

如何解决《AndroidSQLite自动增量》经验,为你挑选了2个好方法。

我目前有一个名为User的表,它有一个id列,创建为

'INTEGER PRIMARY KEY'

假设我创建了两个用户,因此表的id为1和2

如果我删除第二个用户并创建第三个id为2,我需要这个为3

因此,似乎Android正在选择下一个可用的ID,如何将其更改为更像序列号?

问候



1> Graham Borla..:

做吧INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL.以下是文档所说的内容:

如果列的类型为INTEGER PRIMARY KEY AUTOINCREMENT,那么......为新行选择的ROWID至少比同一个表中以前存在的最大ROWID大一个.

AUTOINCREMENT关键字实现的行为与默认行为略有不同.使用AUTOINCREMENT,具有自动选择的ROWID的行保证具有以前从未在同一数据库中使用同一个表的ROWID.并且自动生成的ROWID保证单调递增.



2> 小智..:

SQLite AUTOINCREMENT是一个关键字,用于自动递增表中字段的值.我们可以AUTOINCREMENT在创建具有特定列名称的表时使用关键字自动递增字段值以自动递增它.

该关键字AUTOINCREMENT只能与INTEGER字段一起使用.句法:

AUTOINCREMENT关键字的基本用法如下:

CREATE TABLE table_name(
   column1 INTEGER AUTOINCREMENT,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

例如见下文:考虑COMPANY如下创建表:

sqlite> CREATE TABLE TB_COMPANY_INFO(
   ID INTEGER PRIMARY KEY   AUTOINCREMENT,
   NAME           TEXT      NOT NULL,
   AGE            INT       NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

现在,将以下记录插入表中TB_COMPANY_INFO:

INSERT INTO TB_COMPANY_INFO (NAME,AGE,ADDRESS,SALARY)
VALUES ( 'MANOJ KUMAR', 40, 'Meerut,UP,INDIA', 200000.00 );

现在选择记录

SELECT *FROM TB_COMPANY_INFO
    ID      NAME            AGE     ADDRESS             SALARY
    1       Manoj Kumar     40      Meerut,UP,INDIA     200000.00

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有