Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite:主键和sqlitedatabase.insert_Sqlite_Insert_Primary Key_Rowid - Fatal编程技术网

SQLite:主键和sqlitedatabase.insert

SQLite:主键和sqlitedatabase.insert,sqlite,insert,primary-key,rowid,Sqlite,Insert,Primary Key,Rowid,我有一个带有整数主键的表。这意味着,我的主键将成为rowid的别名。但是,rowid是长的(根据SQLiteDatabase.insert的返回值),而我的主键是整数。那么,如果在表中使用所有可能的整数值时插入数据,会发生什么情况呢?因为我的主键是一个整数,所以我希望出现一个错误。但是由于我的主键是rowid(这是一个长->仍然可用的数字)SQLiteDatabase.insert可以继续插入我的数据,返回rowid。。。正确的?或者SQLiteDatabase.insert是否将自身限制为整数

我有一个带有整数主键的表。这意味着,我的主键将成为rowid的别名。但是,rowid是长的(根据
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
类型一样