【问题标题】:Composite foreign key referencing 2 different tables复合外键引用 2 个不同的表
【发布时间】:2019-02-02 21:14:28
【问题描述】:

我创建了 3 个表 StudentDepartmentMajor_in

我想在 Major_in 的 (email, Department_ID) 上创建一个复合外键,它引用 Student 的主键 emailDepartmentDepartment_ID

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`

【问题讨论】:

    标签: sql sqlite foreign-keys relational-database


    【解决方案1】:

    发现这样做是有效的,是一个基本的语法错误。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 2015-06-04
      • 2021-12-13
      • 2021-09-12
      相关资源
      最近更新 更多