【发布时间】:2013-03-08 08:03:00
【问题描述】:
我有一个创建表的 DatabaseHelper 类。 第一个表(记录)工作正常,但第二个表在我尝试使用它时抛出异常(插入/选择...)。
这是我来自 DatabaseHelper 的代码:
public void onCreate(SQLiteDatabase db) {
String createTable="CREATE TABLE recordings" +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
" name VARCHAR(255) NOT NULL," +
" datestart VARCHAR(255) NOT NULL" +
")";
String createTable2="CREATE TABLE recording_image" +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"imageurl VARCHAR(255) NOT NULL," +
"imagetime INTEGER NOT NULL," +
"prot_id INTEGER NOT NULL," +
"FOREIGN KEY(prot_id) REFERENCES recordings(_id) ON DELETE CASCADE" +
")";
db.execSQL(createTable);
db.execSQL(createTable2);
}
例外是:
没有这样的表:recording_image。
什么可能导致这个问题?
【问题讨论】:
-
你后来加了第二张表吗。如果是这样,请清除您的数据或卸载您的应用。
-
你在哪里查询表?
-
从第二个表中删除引用,稍后您使用引用更改第二个表
-
@Hoan Nguyen:是的,我后来添加了它,现在尝试重新安装该应用程序。异常不再存在,但出现其他问题。我会先尝试自己修复它们。
-
@Vishal Vijay:为什么我必须稍后更改表格并且不能从头开始保留参考
标签: java android eclipse sqlite