如何在sqlite中使用自动增量变量?

时间:2015-03-09 18:55:35

标签: java sqlite

这是我在sqlite中的代码: stmt.execute("如果不存在则创建表人(名称文本,ID INTEGER PRIMARY KEY AUTOINCREMENT)");

但是当我在Navicat中看到我的表时,当我想要使用它时,所有这些都是null。我想像整数(1,2,...)一样使用它。我该怎么办? 请帮帮我......

1 个答案:

答案 0 :(得分:1)

一个简单的谷歌查询得出结论:

<强>摘要

  

AUTOINCREMENT关键字会占用额外的CPU,内存,磁盘空间和   磁盘I / O开销,如果不是严格需要,应该避免。它是   通常不需要。

     

在SQLite中,类型为INTEGER PRIMARY KEY的列是其中的别名   ROWID(除非在WITHOUT ROWID表中),它总是64位签名   整数。

     

在INSERT上,如果不是ROWID或INTEGER PRIMARY KEY列   明确给出一个值,然后它会自动填充一个   未使用的整数,通常是当前最大的ROWID之一   正在使用。无论AUTOINCREMENT是否正确,都是如此   使用了关键字。

     

如果AUTOINCREMENT关键字出现在INTEGER PRIMARY KEY之后,那就是   更改自动ROWID分配算法以防止重用   在数据库的生命周期中的ROWID。换句话说,   AUTOINCREMENT的目的是防止重用ROWID   以前删除的行。

参考: AutoIncrement SQLite