最近遇上难题了,应用要进行升级,不过新版的数据库比原版数据库少了两个字段,直接使用网上重命名复制法,但却出错了
table Article has 10 columns but 12 values were supplied (code 1)
好像是说数据库有10列,但却有12个值,于是想到先删除原版数据库中多出的两个列,不过又报错了
android.database.sqlite.SQLiteException: near "DROP": syntax error (code 1): , while compiling...
>
后来查了,说安卓数据库不支持删除字段,这下彻底没辙了。
请问这种情况怎么对数据库进行保留数据的升级呢?
alter table tableName drop column columnName 。正常的SQL操作啊
反对以上两个答案,我刚遇到这个问题。sqlite的alter中并不支持drop。
也就是说不能够直接删除列。
如果一定要实现这个功能,暂时只能是新建一个表,然后将之前表内的东西迁移过去,然后将旧表删除,再把新表名改为之前旧表的名字。
我了解到得就是这个方法。。。希望能有更好的方法。。。
没学过数据库啊哥们。