我正在將新列添加到現有表中,並向表中添加新條目,並且僅在新列中存在有效數據(其他列默認爲0)添加到表中的新列不顯示在查詢中
添加列:
final String DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME =
"ALTER TABLE "+ shopName + " ADD COLUMN "+ "D" + time + " FLOAT";
try {
mDB.beginTransaction();
//SQLiteStatement statement = mDB.compileStatement(DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME);
//statement.execute();
mDB.execSQL(DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME);
mDB.setTransactionSuccessful();
}
catch (Exception e) {
Log.d(LOG_TAG,"addItemSample : Exception while adding column to table!!");
}
finally {
mDB.endTransaction();
}
添加新條目表中的數據僅在此列成功。
但是,當我查詢表中,這個新的列不會出現在遊標中。
雖然添加列和查詢發生在不同的線程中,但它們是從我們的代碼中被調用的方式序列化的(即第一列被添加,然後db被查詢)以及我使用單個連接來D b。
我想知道這可能是什麼原因?
PS:當插入列後立即執行db查詢時,它顯示出來。
DB_ADD_COLUMN_STATEMENT_TABLE_SHOP_NAME中的「+」D「+」怎麼樣?這是故意還是錯誤? – Ale
這是有意的,我只是前綴D的時間,因爲sqlite不接受列名開頭 – banguru