sqlserver中 在被引用表 'A' 中没有与外键 'c2' 中的引用列列表匹配的主键或候选键

代码如下:

create table ddd

(
    name varchar(10) not null,
    age int not null,
    constraint cc primary key(name,age)
)

create table ccc
(
    gender  varchar(20) not null,
    id varchar(20) not null,
    cname varchar(10) not null,
    constraint c2 foreign key (cname) references ddd(name)

)

这样的编写会导致如上提示

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


修改方案:


create table ddd

(
    name varchar(10) primary key not null,
    --constraint cc primary key(name,age)
)

修改之后错误消失,原因未知,希望有类似经历的朋友给予解答,谢谢!

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...