mysql ora-02270:此列列表的唯一关键字或主键不匹配_数据库 – Oracle(ORA-02270):此列列表错误不匹配唯一或主键...

ORA-2270错误非常简单:当我们在外键中引用的列与父表中的主键或唯一约束不匹配时,会发生这种错误.常见的原因是

>父母完全没有约束

>父表的约束是一个复合键,我们没有引用外键语句中的所有列.

在您发布的代码中似乎并非如此.但是这是一个红色的鲱鱼,因为您的代码不像您发布的那样运行.从以前的编辑来看,我认为你不是发布你的实际代码,而是一些简化的例子.不幸的是,在简化过程中,您已经根除了导致ORA-2270错误的原因.

因为,如果我们修复你的代码运行,它将运行.一路走来

sql> CREATE TABLE JOB

(

ID NUMBER NOT NULL,CONSTRAINT B_PK PRIMARY KEY ( ID ) ENABLE

); 2 3 4 5 6

Table created.

sql> CREATE TABLE USER

(

ID NUMBER NOT NULL,CONSTRAINT U_PK PRIMARY KEY ( ID ) ENABLE

); 2 3 4 5

CREATE TABLE USER

*

ERROR at line 1:

ORA-00903: invalid table name

sql>

因此,该语句失败,因为USER是一个保留关键字,我们不能为表USER命名.我们来解决一下:

sql> 1

1* CREATE TABLE USER

sql> a s

1* CREATE TABLE USERs

sql> l

1 CREATE TABLE USERs

2 (

3 ID NUMBER NOT NULL,4 CONSTRAINT U_PK PRIMARY KEY ( ID ) ENABLE

5* )

sql> r

1 CREATE TABLE USERs

2 (

3 ID NUMBER NOT NULL,4 CONSTRAINT U_PK PRIMARY KEY ( ID ) ENABLE

5* )

Table created.

sql> Alter Table JOB ADD CONSTRAINT FK_USERID FOREIGN KEY(USERID) REFERENCES USERS(ID);

Table altered.

sql>

和洛!没有ORA-2270错误.

所以,我们在这里做的不多,可以帮助你进一步.你的代码有错误.你可以在这里发布你的代码,我们中的一个可以发现你的错误.或者你可以检查自己的代码,并发现自己.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值