Nachdem das Programm erfolgreich ausgeführt und ich .db
Datei von Android Device Monitor extrahieren, kann ich alle meine Tabellen und Spalten für jede Tabelle außer der Spalte für Foreign key
finden. Kann jemand warum dies geschieht? Ist etwas falsch mit meinem Query
? Hier ist mein Code:Android SQLite ForeignKey Spalte nicht in der Datenbank gefunden
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "datacollector.db";
private static final String Table_Survey = "SURVEY";
private static final String Survey_KEY_ID = "id";
private static final String Survey_KEY_NAME = "Survey_Name";
private static final String KEY_Table_Name = "Table_Name";
private static final String Table_formDetails = "FormDetails";
private static final String formDetails_KEY_ID = "id";
private static final String formDetails_field_Type="Field_Type";
private static final String formDetails_label = "Label";
private static final String formDetails_Options = "Options";
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_SURVEY_TABLE = "CREATE TABLE " + Table_Survey + "("
+ Survey_KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + Survey_KEY_NAME + " VARCHAR(30),"
+ KEY_Table_Name + " VARCHAR(50)" + ")";
db.execSQL(CREATE_SURVEY_TABLE);
String CREATE_FORM_DETAILS_TABLE = "CREATE TABLE " + Table_formDetails + "("
+ formDetails_KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + formDetails_field_Type + " VARCHAR(30),"
+ formDetails_Options + " VARCHAR(30),"
+ formDetails_label + " VARCHAR(30),"
+ " FOREIGN KEY ("+Survey_KEY_ID+") REFERENCES "+Table_Survey+"("+Survey_KEY_ID+"));";
db.execSQL(CREATE_FORM_DETAILS_TABLE);
}
Es gibt Fehler „doppelte Spaltenname: id (Code 1):, beim Kompilieren: Tabelle FormDetails CREATE (id INTEGER PRIMARY KEY AUTOINCREMENT, FIELD_TYPE VARCHAR (30), Optionen VARCHAR (30), Etikett VARCHAR (30) , ID INTEGER, FREMDSCHLÜSSEL (ID) REFERENZEN UMFRAGE (ID)) '' – Niroj
+ Survey_KEY_ID + "INTEGER", ändern Sie den Namen hier und in Fremdschlüssel ("+ Survey_KEY_ID +") – Pavya
Können Sie Ihren Code bearbeiten, bitte? – Niroj