栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用复合主键作为外键

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用复合主键作为外键

该行:

FOREIGN KEY (pk_studentID ) REFERENCES student(pk_studentID ),

是错的。您不能那样使用

pk_studentID
,这只是父表中PK约束的名称。要将复合主键用作外键,您必须向子表中添加相同数量(组成PK)的相同数据类型的列,然后在
FOREIGNKEY
定义中使用这些列的组合:

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 ;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号