2015-10-21 70 views
0

引起:android.database.sqlite.SQLiteException:接近「CREATE_TABLE」:語法錯誤(代碼1):編譯時:CREATE_TABLE用戶(用戶名TEXT,密碼TEXT);android studio SQLite創建表查詢語法錯誤

公共類MYDB擴展SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1; 
private static final String DATABASE_NAME = "users.db"; 
private static final String TABLE_USERS = "users"; 
private static final String COLUMN_ID = "_id"; 
private static final String COLUMN_USERNAME = "username"; 
private static final String COLUMN_PASSWORD = "password"; 


public MyDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { 
    super(context, DATABASE_NAME, factory, DATABASE_VERSION); 
} 

// called when database is first created 
@Override 
public void onCreate(SQLiteDatabase db) { 
    String query = "CREATE_TABLE " + TABLE_USERS + "(" + 
     // COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL DEFAULT 1" + 
      COLUMN_USERNAME + " TEXT, " + 
      COLUMN_PASSWORD + " TEXT " + 
      ");"; 

    db.execSQL(query); 
} 

回答

0

另外,一個快速提示。你不一定要告訴SQL COLUMN_ID是一個INTEGER PRIMARY KEY AUTOINCREMENT。 SQL中的INTEGER PRIMARY KEY將始終取得該行的ID的值。唯一需要添加INCREMENT的時候是,如果您在刪除數據時不希望重用值(因爲像我之前所說的那樣,它需要該行的ID)。