![]() |
1
2
按照文档中的建议,最好不要使用AUTOINCREMENT,除非需要确保 (又名id)大于任何已添加的。但是,(在正常使用中)这是一个没有实际意义的点,即使没有自动递增,直到您达到9223372036854775807行,那么将产生一个更高的rowid/id。 如果您确实达到了9223372036854775807的id/rowid,那么如果您使用了AUTOINCREMENT编码,那么就是这样,因为将发生SQLITE\u FULL异常。在没有自动递增的情况下,将尝试获取未使用的id/rowid。
AUTOINCREMENT向sqlite\序列添加一行(如果需要,则添加一个表),该行记录分配的最高id。使用AUTOINCREMENT和不使用AUTOINCREMENT的区别在于引用sqlite\序列表,而不使用AUTOINCREMENT则不引用。因此,如果删除了具有最高id的行,AUTOINCREMENT将从sqlite\u sequence表中获取有史以来分配的最高id(user,取两者中的较大值)
What are the overheads of using AUTOINCREMENT for SQLite on Android? . |
![]() |
baronsec · SQL遍历表以查找子字符串 2 年前 |
![]() |
Guillaume · 使用操作从Python列表创建numpy数组 2 年前 |
![]() |
EJ Travel · 如何使用Kotlin中的Room管理登录验证? 2 年前 |
![]() |
Ken · SQL计数或最大值(sqlite) 2 年前 |
![]() |
Eric · Python Crontab无法读取Sqlite3表 2 年前 |