2011-09-30 55 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」語法輕鬆複製所有數據。 –