android sqlite数据库表字段更新

android sqlite数据库表字段更新,调用onUpgrade方法出现了Can't upgrade read-only database from version 3 to 4: 异常,有哪个大神碰到过或者知道怎么解决。

代码:
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = " alter table person modify phone varchar(100)";
db.execSQL(sql);

}


sqlite只支持修改表名和在表中添加新列,不能直接更新已经存在的字段的定义。如果非要更新已有的字段,就要从新创建一个表,然后在把原来的数据插到新表,把旧表删除,把新表改名

http://my.oschina.net/chengliqun/blog/152184

Can't upgrade read-only database 不能跟新,只能只读