androidsqlite多表

androidsqlite多表,android,database,sqlite,create-table,Android,Database,Sqlite,Create Table,我想在sqlite数据库中创建两个表。我将数据库从emulator拉到pc,但无法创建第二个表,因为第一个表创建成功。我是否可以看到要创建的表,或者甚至数据都没有输入?或者我必须先输入数据,然后才能通过首先从emulator中拉出db来手动查看数据 下面是我创建多个表的代码 db.execSQL("CREATE TABLE almag (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, jekel TEXT);"); db.execSQL("CR

我想在sqlite数据库中创建两个表。我将数据库从emulator拉到pc,但无法创建第二个表,因为第一个表创建成功。我是否可以看到要创建的表,或者甚至数据都没有输入?或者我必须先输入数据,然后才能通过首先从emulator中拉出db来手动查看数据

下面是我创建多个表的代码

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
要手动查看数据库中的数据(非编程的),您可以使用Firefox的插件来手动查看数据库中的数据(非编程的),您可以使用Firefox的插件来手动查看数据库中的数据在这种情况下应该可以正常工作,但是它无法返回任何数据,但是如果SQL字符串无效,它会抛出SQLException

您可以拉出数据库并使用它来检查表。

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


您可以拉出数据库并使用它检查表。

我已经解决了它,要在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;");
}

参考

我已经解决了这个问题,要在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;");
}

参考

如果表创建失败,您应该在logcat中看到日志。你使用哪个安卓版本?如本文注释所述,Android 2.2下不支持外键,我使用的是2.2。在2.2中有没有其他方法来创建外键?如果你不是针对较旧的版本:否则你将不得不编写模拟外键约束的触发器-谷歌将帮助你轻松完成。谢谢Jens,我已经解决了:)如果表创建失败,你应该在logcat中看到日志。你使用哪个安卓版本?如本文注释所述,Android 2.2下不支持外键,我使用的是2.2。在2.2中有没有其他方法来创建外键?如果你不是针对旧版本:否则你将不得不编写模拟外键约束的触发器-谷歌将帮助你轻松实现这一点。谢谢Jens,我已经解决了:)