2014-10-30 65 views
1

我創建了一個包含3個字段(_id,nombre,telefono)的表格。Field _id始終爲0

@Override 
public void onCreate(SQLiteDatabase db) { 
    String sql = "CREATE TABLE "+TABLE_NAME+" ("+ 
      KEY_ID +" INTEGER PRYMARY KEY, "+ 
      KEY_NOMBRE +" TEXT, "+ 
      KEY_TELEFONO +" TEXT);"; 

    db.execSQL(sql); 

} 
public void add(String nombre, String telefono, SQLiteDatabase database) { 
    ContentValues values = new ContentValues(); 
    values.put(KEY_NOMBRE,nombre); 
    values.put(KEY_TELEFONO,telefono); 

    database.insert(TABLE_NAME, null, values); 

} 

當我插入記錄時,_id總是取值(0)。

回答

2

你必須在CREATE TABLE串錯字:「PRYMARY」,而不是「主」。更改爲:

String sql = "CREATE TABLE "+TABLE_NAME+" ("+ 
      KEY_ID +" INTEGER PRIMARY KEY, "+ 
      KEY_NOMBRE +" TEXT, "+ 
      KEY_TELEFONO +" TEXT);"; 
+0

我有一個問題,我得到0爲_id。我的情況中的錯誤是,** _ id **不是主鍵中唯一的列。我無意中添加了其他列,例如我用'CREATE TABLE IF NOT EXISTS過道(_id INTEGER,aisleshopref INTEGER,aisleorder INTEGER DEFAULT 1000,aislename INTEGER,PRIMARY KEY(_id,aisleshopref,aisleorder,aislename));'。 – MikeT 2016-11-18 23:19:32