Create Table:
db.execSQL("CREATE TABLE " + PERSONS_TABLE + " ("
+ PersonsColumns.ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
...
+ PersonsColumns.HEIGHT + " FLOAT, "
+ PersonsColumns.CITY + " STRING);");
Write Data:
ContentValues values = new ContentValues();
alues.put(PersonsColumns.HEIGHT, 1.7976931348623157E308);
db.insertOrIgnore(values);
您可以看到值 1.7976931348623157E308 超出了 sqlite 中的 FLOAT 值范围(4 个字节)。为什么它可以正确存储这个值?
最佳答案
SQLite 是“无类型的”。您可以在任何表的任何列中存储您想要的任何类型的数据,而不管该列的声明数据类型如何
SQLite 还允许省略数据类型。