如果您在 Android 上使用 SQLite 的 rawQuery()
或 execSQL()
方法,什么时候应该使用分号结束语句?
关于 this tutorial ,例如,作者在 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);
选择语句:
Cursor cursor = getReadableDatabase().
rawQuery("select * from todo where _id = ?", new String[] { id });
是不是使用execSQL()
方法的语句末尾需要分号,而使用rawQuery()
方法的语句不需要?
最佳答案
SQLite 语句以分号 (;
) 结束。如果指定了一个,则意味着它是一个命令的结尾,并且可以在该分号之后执行更多命令。如果没有指定分号,则将整个字符串作为命令。
在这种情况下,CREATE
语句中的分号无关紧要,因为它后面没有任何内容。
关于Android 和 SQLite : When to use semicolons to end statements?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13202600/