Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.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

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
Android 带手动ID的SQLITE插入(主键)_Android_Sqlite - Fatal编程技术网

Android 带手动ID的SQLITE插入(主键)

Android 带手动ID的SQLITE插入(主键),android,sqlite,Android,Sqlite,我是否可以使用具有手动ID[主键自动增量]值的db.insert方法插入SQLITE数据库?或者我必须用SQL命令的rawQuery方法来实现它 mylibman ... // Is a custom class containing all values SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); //values.put(KEY_ID, mylibman

我是否可以使用具有手动ID[主键自动增量]值的db.insert方法插入SQLITE数据库?或者我必须用SQL命令的rawQuery方法来实现它

mylibman ... // Is a custom class containing all values
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
//values.put(KEY_ID, mylibman.getBookid()); //If I put this line, ID always becomes zero 
values.put(KEY_NAME, mylibman.getBookname());
values.put(KEY_PRINT_NAME, mylibman.getPrintname());
long numrow = db.insert(TABLE_NAME, null, values);
db.close();

谢谢,

是的,您可以显式定义
整型主键自动递增
列的值。 如果尝试重新插入现有密钥,将出现“主键必须唯一”错误

只有在列值未给定或给定为
NULL
时,才会自动生成rowid

参考: