【发布时间】:2011-12-17 06:29:34
【问题描述】:
我想在一个 sqlite 数据库中创建 2 个表。我将数据库从模拟器拉到电脑,但无法创建第二个表,只是第一个表已成功创建。我可以看到创建表成功还是没有输入数据?或者我必须先输入数据,然后我可以通过先从模拟器中提取数据库来手动查看?
这是我创建多个表的代码
db.execSQL("CREATE TABLE almag (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, jekel TEXT);");
db.execSQL("CREATE TABLE score (_id INTEGER PRIMARY KEY AUTOINCREMENT, score INTEGER, userId INTEGER FOREIGN KEY REFERENCES almag (_id));"); //create table score
【问题讨论】:
-
如果表创建失败,您应该会在 logcat 中看到日志。您使用哪个 Android 版本?如stack overflow question 中的评论所述,Android 2.2 下不支持外键
-
我使用 2.2 。在 2.2 中还有另一种创建外键的方法吗?
-
如果您不针对旧版本:stackoverflow.com/questions/2545558/… 否则您将不得不编写模拟外键约束的触发器 - Google 会很容易地帮助您。
-
感谢 Jens,我已经解决了 :)
标签: android database sqlite create-table