2

この行はmDatabase.execSQL(sql);、私に次のエラーを与えます:

{ sqlite returned: error code = 1, msg = near "*": syntax error }
  for Delete * from table_name Query

私のSQLクエリは次のとおりです。DELETE * FROM table_name

どうすればこれを解決できますか?

4

3 に答える 3

5

DELETE * FROM table_name間違ったSQLコマンドです。使用するDELETE from table_name

于 2012-08-10T11:13:51.053 に答える
0

構文エラーは、基本的にステートメントのスペルが間違っていて、解析できないことを意味します。この場合、エラー メッセージには、このエラーが発生した正確な場所 ("*" 文字) が示されます。このような場合は、データベースのドキュメントにアクセスして、使用しようとしているコマンドの構文が正しいかどうかを確認してください。SQLite の場合はここにあります。そこに DELETE ステートメントに関するドキュメントがあります。ここにリンクがあります。シンタックスをグラフィカルに (シンタックス ダイアグラムまたはレイルロード ダイアグラムと呼ばれる) 表示するので、非常に簡単に理解できます。この場合、前述のとおり、DELETE と FROM の間に「*」を指定することはできません。これは、常に行全体を削除しており、選択した個々の列を削除できないためです。

于 2012-08-10T11:24:25.693 に答える
0

テーブル全体を削除する必要がある場合は、DROP TABLE IF EXISTS を使用してから、テーブルを再作成できますか

于 2012-09-07T10:50:27.663 に答える