Составной внешний ключ, ссылающийся на 2 разные таблицы - PullRequest
0 голосов
/ 03 февраля 2019

Я создал 3 таблицы Student, Department и Major_in.

Я хочу создать составной внешний ключ для (email, Department_ID) Major_in, который ссылается на первичные ключи email из Student и Department_ID из Department.

CREATE TABLE Student
(
    email VARCHAR(20) PRIMARY KEY
);

CREATE TABLE Department
(
    Department_ID INTEGER PRIMARY KEY
);

CREATE TABLE Major_in 
(
    email VARCHAR(20), 
    Department_ID INTEGER,
    FOREIGN KEY (roll, Department_ID) 
         REFERENCES (Student(email), Department(Department_ID)
);

Но я получаю ошибку

Ошибка: около "(": синтаксическая ошибка insqlite3`

1 Ответ

0 голосов
/ 03 февраля 2019

Понял, что выполнение этой работы было основной синтаксической ошибкой.

CREATE TABLE Major_in
(
    email REFERENCES Student, 
    Department_ID REFERENCES Department, 
    PRIMARY KEY (email, Department_ID)
);
...