您的位置:首页 > 移动开发 > Android开发

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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: