【问题标题】:How to handle changed data type in Android DB onUpgrade()如何在 Android DB onUpgrade() 中处理更改的数据类型
【发布时间】:2020-06-26 01:42:16
【问题描述】:

例如,在我的
数据库版本 1: 我的 TEST_TABLE
COLUMN_ID + INT_TYPE

DB 版本 2:我将数据类型更改为 TEXT
COLUMN_ID + TEXT_TYPE

现在我想在我的 onUpgrade() 方法上处理这个问题,我想确保数据仍然存在。 如何做到这一点?改变也适用于此吗?

问候

【问题讨论】:

    标签: android sql database sqlite


    【解决方案1】:

    您不能更改sqlite上现有的数据类型,您需要先创建一个临时表。

    CREATE TABLE TEMP_TEST_TABLE (COLUMN_ID TEXT);
    INSERT INTO TEMP_TEST_TABLE (COLUMN_ID TEXT) FROM TEST_TABLE;
    DROP TABLE TEST_TABLE;
    ALTER TABLE TEMP_TEST_TABLE RENAME TO TEST_TABLE;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-27
      • 2016-06-07
      • 2015-02-17
      • 2015-12-13
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多