pace_03 2021-10-18 00:28 采纳率: 69.2%
浏览 51
已结题

SQL Server 2019两个表之间的主外键问题

请帮我指出错误,谢谢!
我创建了一个C表,有Cno(课程号),Cname(课程名),Tname(教师姓名),均为主键
T表,有Tname(教师姓名),Tno(教师工号),Cname(课程名),Tno为主键,Tname和Cname为外键参照C表

--C表创建
CREATE TABLE C
(
    Cno INT ,
    Cname CHAR(10),
    Tname CHAR(10) NOT NULL,
    PRIMARY KEY(Cno,Tname,Cname)
);
--T表创建
CREATE TABLE T
(
    Tname CHAR(10) NOT NULL, 
    Tno INT,
    Cname CHAR(10),
    PRIMARY KEY (Tno),
    FOREIGN KEY(Tname) REFERENCES C(Tname),
    FOREIGN KEY(Cname) REFERENCES C(Cname)
);

T表创建报错

消息 1776,级别 16,状态 0,第 1 行
在被引用表 'C' 中没有与外键 'FK__T__Tname__49C3F6B7' 中的引用列列表匹配的主键或候选键。
消息 1750,级别 16,状态 1,第 1 行
无法创建约束或索引。请参阅前面的错误。

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 11月3日
      • 已采纳回答 10月26日
      • 修改了问题 10月18日
      • 修改了问题 10月18日
      • 展开全部

      悬赏问题

      • ¥15 实值特征权重向量和特征选择,多分类
      • ¥15 INVEST年产水量模块结果出处理
      • ¥15 Neo4j 不显示关系
      • ¥15 这段代码有什么bug
      • ¥15 pip默认安装位置修改不成功
      • ¥15 C++ inline、staitc、const三合一谁能讲通透
      • ¥15 关于pyqt5中QThread的问题
      • ¥20 STM32基于HAL库使用串口发送16进制数组
      • ¥15 OpenCV报错 You can enable it via 'OPENCV_IO_ENABLE_OPENEXR'
      • ¥15 AT89C51的程序问题