-1

私はAndroidプロジェクトに取り組んでおり、テーブル内のすべてのレコードを削除する必要があります。

 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

3 に答える 3

6

http://www.sqlite.org/lang_delete.htmlをご覧ください。削除はワイルドカードを受け入れません。使用する

Delete From <table name>

代わりは

于 2012-08-01T13:20:37.003 に答える
4

ほとんどの場合、それは有効な SQL 構文ではないためです。星を省略して行うだけです

delete from enigme2;
于 2012-08-01T13:20:22.847 に答える
2

有効な SQL 構文ではないため、不適切です。は*「すべての列」を示すために使用されます (SELECT の場合)。DELETE ステートメントは行全体を削除しているため、デフォルトでその行のすべての列から値が削除されるため、「すべての列」は意味がありません。

于 2012-08-01T13:20:54.860 に答える