mysql复合外键_使⽤复合主键作为外键
⼩编典典
该⾏:
FOREIGN KEY (pk_studentID ) REFERENCES student(pk_studentID ),
是错的。您不能那样使⽤pk_studentID,这只是⽗表中PK约束的名称。要将复合主键⽤作外键,您必须向⼦表中添加相同数量(组成PK)的相同数据类型的列,然后在FOREIGN
KEY定义中使⽤这些列的组合:
foreign key references用法CREATE TABLE files
(
files_name varchar(50) NOT NULL,
batch_id varchar(4) NOT NULL, --- added, these 3 should not
dept_id varchar(6) NOT NULL, --- necessarily be NOT NULL
student_id varchar (25) NOT NULL, ---
files_path varchar(50),
files_data varchar(max), --- varchar(max) ??
files_bookmarks xml, --- xml ??
--- your question is tagged MySQL,
--- and not SQL-Server
CONSTRAINT pk_filesName
PRIMARY KEY (files_name),
CONSTRAINT fk_student_files --- constraint name (optional)
FOREIGN KEY (batch_id, dept_id, student_id)
REFERENCES student (batch_id, dept_id, student_id)
)
ENGINE = InnoDB ;
2020-05-17

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。