2
我有一個在android應用程序中的一個表sqlite數據庫。當它使用下面顯示的語句創建時,有兩個列,KEY_CHECKBOX_STATUS和KEY_CHECKBOX_LABEL。 「ID」是創建的主鍵。是在Android中爲sqlite數據庫表自動生成的KEY_ID?它被稱爲「KEY_ID」?
如果在創建時沒有像下面的語句那樣顯式創建主鍵,它會自動創建嗎?並且名稱是「KEY_ID」?
//create table MY_DATABASE (ID integer primary key, Content text not null);
private static final String SCRIPT_CREATE_DATABASE =
"CREATE_TABLE IF NOT EXISTS " + MYDATABASE_TABLE + " (" + "ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_CHECKBOX_STATUS + " BIT, " + KEY_CHECKBOX_LABEL + " TEXT NOT NULL);";
由於您的創建包含「ID整數主鍵」,您還可以將其作爲'ID'進行訪問,因此'ID'成爲另一個rowid的同義詞。 – Tom 2013-04-10 15:53:47
是的,如果他創建了,在他的問題中,他問他是否沒有創建主鍵ID,如果他沒有,那麼他不能使用ID訪問rowid。 – 2013-04-10 16:08:52
哦,哎呀 - 我糾正了。我會注意到,儘管我在其他SO帖子中讀過,最好聲明主鍵ID(即使你不需要它),只要讓Sqlite將它作爲rowid的別名來實現。 – Tom 2013-04-10 16:11:54