我在我的应用程序中发现了一些奇怪的东西。我用名为type
的列创建了一个表,该表应存储整数:
db.execSQL("CREATE TABLE " + CellColumns.TABLE + " ("
+ CellColumns._ID + " INTEGER PRIMARY KEY,"
+ CellColumns.TYPE + " INTEGER," // <-- this
+ CellColumns.CELL_ID + " INTEGER,"
+ CellColumns.CITY_ID + " INTEGER,"
+ CellColumns.LOAD + " INTEGER,"
+ CellColumns.ORIENTATION + " INTEGER);");
读:
String type = c.getString(c.getColumnIndex(CellColumns.TYPE));
但是以某种方式我总是将字符串存储到其中而没有任何问题(似乎我忘记了此列是整数的意思)。也可以通过查询读取字符串。列的这种动态“类型转换”是sqlite的功能吗?
最佳答案
从here:
是的,这是sqlite的功能。阅读我链接的整个页面,并仔细阅读:)