Ошибка при добавлении нескольких внешних ключей в базу данных SQLite - PullRequest
0 голосов
/ 10 июля 2019

Итак, у меня есть несколько таблиц в моей базе данных.У меня есть таблица Employee , в которой есть 2 внешних ключа с идентификаторами из таблиц Owner и Account , но я получил ошибку, следуя приведенному ниже коду:

private static final String CREATE_TABLE_EMPLOYEE = " CREATE TABLE "
        + EMPLOYEE + "("
        + COL_EMP_ID + "INTEGER PRIMARY KEY AUTOINCREMENT,"
        + COL_EMP_LNAME + "TEXT,"
        + COL_EMP_FNAME + "TEXT,"
        + COL_EMP_IMG + "INTEGER,"
        + COL_EMP_DOB + "DATE,"
        + COL_EMP_GENDER + "TEXT,"
        + COL_EMP_PHONE + "INTEGER,"
        + FOREIGN KEY("+ COL_OWNER_ID +") REFERENCES "+ OWNER +"("+ COL_OWNER_ID +"), "
        + FOREIGN KEY("+ COL_ACCT_ID +") REFERENCES "+ ACCOUNT +"("+ COL_ACCT_ID +"));";

Я также пробовал этот способ при добавлении нескольких внешних ключей, но он также выдал мне ошибку:

   ....
   + COL_OWNER_ID + "INTEGER REFERENCES" + OWNER +
   + COL_ACCT_ID + "INTEGER REFERENCES" + ACCOUNT+ ")";

Подскажите, пожалуйста, что не так с этим кодом?Спасибо

Ошибка: ошибка: ';'ожидаемая ошибка: неверное объявление метода;возвращаемый тип обязательная ошибка: недопустимое начало ошибки типа: ';'ожидается
ошибка: литеральная ошибка нераскрытой строки: ошибка литерала незамкнутой строки: ожидается

1 Ответ

1 голос
/ 10 июля 2019

Это синтаксическая ошибка в исходном коде Java, добавьте несколько ":

private static final String CREATE_TABLE_EMPLOYEE = " CREATE TABLE "
        + EMPLOYEE + "("
        + COL_EMP_ID + "INTEGER PRIMARY KEY AUTOINCREMENT,"
        + COL_EMP_LNAME + "TEXT,"
        + COL_EMP_FNAME + "TEXT,"
        + COL_EMP_IMG + "INTEGER,"
        + COL_EMP_DOB + "DATE,"
        + COL_EMP_GENDER + "TEXT,"
        + COL_EMP_PHONE + "INTEGER,"
        + "FOREIGN KEY("+ COL_OWNER_ID +") REFERENCES "+ OWNER +"("+ COL_OWNER_ID +"), "
        + "FOREIGN KEY("+ COL_ACCT_ID +") REFERENCES "+ ACCOUNT +"("+ COL_ACCT_ID +"));";
...