我在我的应用程序中发现了一些奇怪的东西。我用名为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的功能。阅读我链接的整个页面,并仔细阅读:)

10-06 13:16