android 数据库升级(保留原先数据)

在onUpgrade()中处理

 db.execSQL("CREATE TABLE " + "'post2' (" + //post2 为暂存文件名,可以在这里添加字段或者删除字段
                    "'_id' INTEGER PRIMARY KEY ," + 
                    "'SONG_ID' INTEGER UNIQUE ," + 
                    "'SONG_NAME' TEXT," + 
                    "'LISTEN_FILE' TEXT," + 
                    "'ARTIST_NAME' TEXT," + 
                    "'HAS_PLAYED' INTEGER  ," + 
                    "'ARTIST_URL' TEXT," + 
                    "'IS_SLOW_TYPE' INTEGER," + 
                    "'SONG_TIME' INTEGER ," + 
                    "'IS_MUSIC_POWER' INTEGER ," +
                    "'HAS_COLLECTED' INTEGER);"); 

            //将原先LOADED_SONG 表中中的响应字段的数据copy到post2表中
            db.execSQL("INSERT INTO post2 (_id, SONG_ID, SONG_NAME, LISTEN_FILE, ARTIST_NAME,  HAS_PLAYED, ARTIST_URL,IS_SLOW_TYPE, SONG_TIME, IS_MUSIC_POWER,HAS_COLLECTED)" +
                "   SELECT _id, SONG_ID, SONG_NAME, LISTEN_FILE, ARTIST_NAME,HAS_PLAYED, ARTIST_URL, IS_SLOW_TYPE, SONG_TIME, IS_MUSIC_POWER ,HAS_COLLECTED FROM LOADED_SONG;");
            //删除原先的表
            db.execSQL("DROP TABLE LOADED_SONG");
            //重命名表
            db.execSQL("ALTER TABLE post2 RENAME TO LOADED_SONG");
            //也可以在新表中添加字段
            db.execSQL("ALTER TABLE LOADED_SONG ADD COLUMN USERNAME TEXT");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值