为什么这个不起作用??
db.execSQL("INSERT INTO PARTIES (PARTY_NAME, PARTY_COUNT) SELECT DISTINCT(PARTY), COUNT(PARTY) FROM ? WHERE (Year=?) GROUP BY PARTY ORDER BY PARTY ASC", new Object[] { "Election", "2004" });
它在rawQuery中完美工作!!
发布于 2010-02-17 13:14:18
我不知道你指的是什么"rawQuery“(网址)。我不知道有哪个SQL引擎允许对元数据进行参数替换,比如表名和列名--在参数替换中只允许值,而不允许名称。SQLite也不例外。
发布于 2012-05-17 01:35:12
也许它不应该这样?
来自文档的copypaste:
public void execSQL (String sql, Object[] bindArgs)执行不是INSERT语句的SELECT/INSERT/UPDATE/DELETE.的单个SQL语句,请改用下列任一语句。
insert(String, String, ContentValues) insertOrThrow(String, String, ContentValues) insertWithOnConflict(String, String, ContentValues,int)http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
https://stackoverflow.com/questions/2278433
复制相似问题