0

我想在一个 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
4

3 回答 3

3

我已经解决了,在android 2.2中添加外键只需要添加这些代码

public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE almag (_id INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT, jekel TEXT);");
    db.execSQL("CREATE TABLE score (_id INTEGER PRIMARY KEY AUTOINCREMENT, score INTEGER, userId INTEGER NOT NULL, FOREIGN KEY (userId) REFERENCES almag(_id) ON DELETE CASCADE);"); //create table score
    db.execSQL("PRAGMA foreign_keys = ON;");
}

参考http://panierter-pinguin.de/blog/?p=138

于 2011-10-30T13:59:29.270 回答
0

要从数据库中手动(非编程)查看数据,您可以使用Firefox 的SQLiteManager插件

于 2011-10-28T12:48:14.313 回答
0

db.execSQL(Table_CREATE_SQL) 在这种情况下应该可以正常工作,但它无法返回任何数据,但是如果 SQL 字符串无效,它会抛出 SQLException。

您可以提取数据库并使用SQLite 浏览器检查表格。

于 2011-10-28T18:50:00.767 回答