SQL 错误: ORA-02270: 此列列表的唯一关键字或主键不匹配

建表如下:create table jt(
Jno int primary key,
Jpassword int not null,
cname int,
Jphone int not null,
Jname varchar(10)
);
create table gt(
account int primary key,
password int not null,
Gname varchar(10),
Gphone int not null
);
create table student(
sno int primary key,
spassword int not null,
class varchar(20) not null,
sname varchar(10) not bull,
sex char,
age int,
home varchar(15),
sphone int not null,
Jno int,
Gname varchar(10)
foreign key (Jno) references jt(Jno),
foreign key (Gname) references gt(Gname)
);
建立外键时出现错误:SQL 错误: ORA-02270: 此列列表的唯一关键字或主键不匹配
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog view

                这样改怎么解决啊?求教各位大牛了!

3个回答

gt表中gname不是主键,外键关联的必须是主键

也有可能是以下错误

1、可能是字段类型不匹配,请先仔细检查,确定无误。
2、关联的主表的主键被锁定

no matching unique or primary key for this column-list
直译:此列列表没有匹配唯一(约束)或主键

这里已经写了

你指向的那个外键列

没有写unique约束

或者不是主键

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问