SQLITE INSERT with manual ID (primary Key)

android, sqlite

Solution

Yes, you can explicitly define the value for an `INTEGER PRIMARY KEY AUTOINCREMENT` column. If you try to re-insert an existing key, you'll get "PRIMARY KEY must be unique" error.

The automatic rowid generation only only takes place if the column value is not given, or is given as `NULL`.

Reference: http://www.sqlite.org/autoinc.html

Problem

Can I insert into a SQLITE database using db.insert method with manual ID [PRIMARY KEY AUTO INCREMENT] value? Or I have to do it with rawQuery method with SQL command? ``` 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(); ``` Thanks,

Original source