在Android开发项目中,遇到这样的一个问题,在软件升级时,要把旧数据库内的数据拷贝到新的数据库中,
在数据库内,表之间的拷贝大家都知道,很简单
insert into table_name (aa,bb,cc) select aa,bb,cc from table_name.
但在Android中,数据库间的数据怎么拷贝呢?在mysql中,可以直接用db_name.table_name的方式,查找另一个数据库的内容,实现如下:
insert into table_name (aa,bb,cc) select aa,bb,cc from db_name.table_name.
在Android中呢?
在Android中,我们实现数据库时,常常使用public class SqliteHelper extends SQLiteOpenHelper 这样的方式进行数据库操作。
现在我们通过三步方式实现数据库间表复制
第一步
//初始化创建数据库
sqliteHelper = new SqliteHelper(.....);
//获取数据库对象
SQLiteDatabase db = sqliteHelper.getWritableDatabase();
第二步数据库附加
把你你想要拷贝数据的数据库附加到当前数据库中,这一步可是关键
//使用attach database ? as userdata,附加数据库
db.execSQL("attach database ? as userdata", new String[] { contex