SQLite:主键和sqlitedatabase.insert
我有一个带有整数主键的表。这意味着,我的主键将成为rowid的别名。但是,rowid是长的(根据SQLite:主键和sqlitedatabase.insert,sqlite,insert,primary-key,rowid,Sqlite,Insert,Primary Key,Rowid,我有一个带有整数主键的表。这意味着,我的主键将成为rowid的别名。但是,rowid是长的(根据SQLiteDatabase.insert的返回值),而我的主键是整数。那么,如果在表中使用所有可能的整数值时插入数据,会发生什么情况呢?因为我的主键是一个整数,所以我希望出现一个错误。但是由于我的主键是rowid(这是一个长->仍然可用的数字)SQLiteDatabase.insert可以继续插入我的数据,返回rowid。。。正确的?或者SQLiteDatabase.insert是否将自身限制为整数
SQLiteDatabase.insert的返回值),而我的主键是整数。那么,如果在表中使用所有可能的整数值时插入数据,会发生什么情况呢?因为我的主键是一个整数,所以我希望出现一个错误。但是由于我的主键是rowid(这是一个长->仍然可用的数字)SQLiteDatabase.insert
可以继续插入我的数据,返回rowid。。。正确的?或者SQLiteDatabase.insert
是否将自身限制为整数值范围,但每次仍然返回一个long?如果是这样,将SQLiteDatabase.insert的返回值立即转换为int是否有意义?因为无论如何,我都无法从该方法中获得“长值”(由于主键是整数)。。。或者我可以吗?来自:
整数。该值是一个有符号整数,存储在1、2、3、4、6或8中
字节数取决于值的大小
正如您在SQLite中所看到的,INTEGER
数据类型与Java中的int
不同,
但是它可以存储多达8个字节的值,就像Java的long
类型一样