为什么这不起作用?
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中完美运行!!
答案 0 :(得分:2)
我不知道你指的是什么“rawQuery”(请点击URL)。我不知道任何允许参数替换元数据的SQL引擎,例如表和列的名称 - 在参数替换中只允许使用值或名称。 SQLite也不例外。
答案 1 :(得分:1)
可能不应该吗?
来自doc的public void execSQL (String sql, Object[] bindArgs)
执行一个不是SELECT/INSERT/UPDATE/DELETE.
的SQL语句
对于INSERT
语句,请改用以下任何一种语句。
insert(String, String, ContentValues)
insertOrThrow(String, String, ContentValues)
insertWithOnConflict(String, String, ContentValues,int)
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html