AndroidでSQLiteのrawQuery()またはexecSQL()メソッドを使用している場合は、ステートメントを終了するときにセミコロンを使用する必要がありますか?AndroidとSQLite:ステートメントを終了するときにセミコロンを使用するのはいつですか?
たとえば、著者はcreate table文(execSQL経由)ではセミコロンを使用しますが、select文(rawQuery経由)ではセミコロンを使用しません。例えば:
private static final String DATABASE_CREATE = "create table "
+ TABLE_COMMENTS + "(" + COLUMN_ID
+ " integer primary key autoincrement, " + COLUMN_COMMENT
+ " text not null);";
database.execSQL(DATABASE_CREATE);
Selectステートメント:
Cursor cursor = getReadableDatabase().
rawQuery("select * from todo where _id = ?", new String[] { id });
それはExecSqlの()メソッドを使用して文の最後にセミコロンを必要とする場合ですが、文は使用してCREATE TABLE文を
rawQuery()メソッドはありませんか?
Gotcha。ですから、私が1つのコマンドを送信している限り、セミコロンは完全にオプションですか? –
@DanielS Correct。 – Eric
これはそれだと思います。コマンドラインからSQLを使用する場合は、セミコロンを入力する必要があります。多くのSQL APIは、セミコロンがなければ最後にセミコロンをポップするようです。 –