我可以使用带有手动ID [PRIMARY KEY AUTO INCREMENT]值的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();
Run Code Online (Sandbox Code Playgroud)
谢谢,
laa*_*lto 11
是的,您可以显式定义INTEGER PRIMARY KEY AUTOINCREMENT列的值.如果您尝试重新插入现有密钥,则会出现"PRIMARY KEY必须唯一"错误.
仅在未给出列值时才会生成自动rowid生成,或者仅作为NULL.
参考:http://www.sqlite.org/autoinc.html
| 归档时间: |
|
| 查看次数: |
5063 次 |
| 最近记录: |