2012-08-01 19 views
-1

我工作的一個Android項目,我要刪除我的表中的所有記錄:爲什麼excecSQL在聲明中不接受*?

public void deleteAll(){ 
    SQLiteDatabase db=this.getWritableDatabase(); 
    String req="delete * from "+ TABLE_ENIGME; 
    db.execSQL(req); 
} 

但是,當我把我的功能deleteAll此異常陶醉:

android.database.sqlite.SQLiteException: near "*": syntax error: delete * from enigme2 

所以爲什麼「*」是不合適的?

回答

4

主要是因爲那不是有效的sql語法。只是省略了明星和做

delete from enigme2; 
+0

我已經聲明TABLE_ENIGME爲:\t \t private static final String TABLE_ENIGME =「enigme2」; – Angelika 2012-08-01 13:22:19

2

這是不恰當的,因爲它不是有效的SQL語法。 *用於表示「所有列」(當選擇時)。由於DELETE語句刪除整行,表示「所有列」是無意義的,因爲它默認從該行的所有列中刪除值。