我正在开发一个具有内部 Sqlite 数据库的项目。我通过 shell 添加了一个新表(Table1),其中包含 1 列(column1),并通过 android 在其中插入和删除了一些新值。我尝试通过命令行添加两个新列column2和column3并通过 shell 调用它:
**PRAGMA table_info(Table1);**
我看到两个新列的创建是正确的,因为我得到了这个输出:
*0|column1|varchar(20)|1||1
1|column2|varchar(255)|1||0
2|column3|varchar(255)|1||0*
美好的。呼吁
**cursor.getColumnIndex("column1"));**
继续正常,但传递另一个参数,如下所示:
**cursor.getColumnIndex("column2"));**
正在返回-1,例如尚未创建此列。所以相同的数据库,但shell和android之间的区别。有什么提示可以理解什么是错的?