2011-09-30 61 views
1

我在Android市场上有一个应用程序,用户数据存储在SQLite中。我用一列整数创建了一个数据库表。我想现在在那里存放花车。我怎样才能做到这一点?当我试图插入一个浮动,我的应用程序似乎抛出一个异常。Android SQLite列int可以浮动吗?

回答

1

至于SQlite的doesn't implementALTER TABLE(仅重命名表,并添加一列)的全力支持,你必须:

  • 创建新列格式的临时表,即浮
  • 副本将原始表格中的数据转换为临时表格(整数将被“扩大”为浮点数,这里不会丢失数据),例如INSERT INTO tmp SELECT * FROM orig
  • 删除原始表
  • 重命名临时表到原来的表
+0

谢谢!我对SQLite有点新,如果我创建新的表,比如前5列和我的原始表名相同,我可以用未指定的数据类型创建这个新表吗?什么是不指定数据类型而创建的示例? 'INSERT'能够将数据复制到具有不同数据类型的新表中吗? – chis54

+0

新表没有什么特别之处,必须像任何其他表一样创建,即包含数据类型的完整列定义。如果您保留所有列名称相同并且只有“扩展”转换(例如int - > float),您应该可以使用我的答案中看到的“INSERT INTO .. SELECT”语法轻松复制所有数据。 –

相关问题