android 数据库升级(保留原先数据)
2016-06-29 20:54
459 查看
在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");
相关文章推荐
- Monkey源码分析4—程序入口以及初始化命令行参数
- 自定义ToggleButton
- Android自定义控件
- android的四大组件+intent重要组件
- Android数据加密之MD5
- Android自助餐之View生命周期
- HashMap源码分析
- android-----事件分发机制测试系列(二)
- Android之AdapterView及其子类的介绍
- android Sensor相关工作
- Android 6.0编译问题
- Android Studio插件整理
- Android AlarmManager
- Android 媒体编解码器(转)
- Android之ImageView控件以及子类的介绍
- 安卓日记——跨组件通信神器RxBus
- Android之模拟时钟和数字时钟,计时器
- 最终还是没选择Android
- Bitmap too large to be uploaded into a texture
- Android之RadioButton与RadioGroup,CheckBox,Switch,ToggleButton的介绍