2014-10-30 2 views
1

3 개의 필드 (_id, nombre, telefono)가있는 테이블을 만듭니다.필드 _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 문자열에 "PRIMARY"대신 "PRYMARY"가 오타가 있습니다. 그것을 다음으로 변경하십시오 :

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

나는 _id에 대해 0을 얻었습니다. 제 경우의 오류는 ** _ id **가 기본 키의 유일한 열이 아니라는 것입니다. 예기치 않게 다른 열을 추가했습니다. 나는 CREATE TABLE을 사용하지 않는다. (_id INTEGER, aisleshopref INTEGER, aisleorder INTEGER DEFAULT 1000, aislename INTEGER, PRIMARY KEY (_id, aisleshopref, aisleorder, aislename))'. – MikeT

관련 문제