我尝试使用 android studio 将 2 个外键放入 sqlite,但出现以下错误:
多个外键错误
@Override
public void onCreate(SQLiteDatabase db) {
String TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " ("
+ RENDEZ_VOUS_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ DATE + " DATE, "
+ TIME + " TIME, "
+ STATUS + " INTEGER, "
+ COMMENT + " TEXT, "
+ CONTACT_ID + " INTEGER, FOREIGN KEY("+CONTACT_ID+") REFERENCES "+DatabaseManagerContact.TABLE_NAME+"("+CONTACT_ID+"));";
db.execSQL(TABLE_CREATE);
Log.i("DATABASE Rendez Vous", "onCreate invoked ");
}
你知道问题出在哪里吗?
问候
最佳答案
在语句末尾声明所有外键,如下所示:
String TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " ("
+ RENDEZ_VOUS_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ DATE + " DATE, "
+ TIME + " TIME, "
+ STATUS + " INTEGER, "
+ COMMENT + " TEXT, "
+ CONTACT_ID + " INTEGER, "
+ OTHER_ID + " INTEGER, "
+ FOREIGN KEY("+CONTACT_ID+") REFERENCES "+DatabaseManagerContact.TABLE_NAME+"("+CONTACT_ID+"), "
+ FOREIGN KEY("+OTHER_ID+") REFERENCES "+DatabaseManagerContact.ANOTHER_TABLE_NAME+"("+ANOTHER_ID+"));";
关于java - 如何在android studio中使用sqlite获得多个外键的良好语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558515/