为了账号安全,请及时绑定邮箱和手机立即绑定

怎么知道主键约束的名字有没有重复,或者有什么好的主键约束命名方法?

发现不同表的主键约束名称是不能相同的,那我们以后写主键名的时候怎么知道以前有没写过这个主键,或者有什么好的命名方法?

代码如下:

SQL> select * from dba_constraints where constraint_name='PK_ID1_ID2';

OWNER             CONSTRAINT_NAME                CONSTRAINT_TYPE          TABLE_NAME 

-------------------------------------------------------------------------------- ------------------------------ --------------- 

SYS               PK_ID1_ID2                                                      P                       TB26_5  

//这是 tb26_5表里的主键约束 :pk_id1_id2

SQL> alter table tb26_6 add constraint pk_id1_id2 primary key (id1,id2);

alter table tb26_6 add constraint pk_id1_id2 primary key (id1,id2)

ORA-02264: 名称已被一现有约束条件占用


SQL> alter table tb26_6 add constraint pk_test1_id1_id2 primary key (id1,id2);

Table altered

//tb26就不能直接增加名为pk_id1_id2的主键约束,换个名字就行。

正在回答

1 回答

有没有重复你添加约束使就会知道,有重复是不可以创建约束的,反之。

你可以在约束名把表名也加进去。
e.g. 
PK_TB26_5_ID1_ID2
PK_TB26_6_ID1_ID2

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Oracle数据库开发必备利器之SQL基础
  • 参与学习       160670    人
  • 解答问题       641    个

为你带来Oracle开发必备的sql基础,为后续课程学习打下好的基础

进入课程

怎么知道主键约束的名字有没有重复,或者有什么好的主键约束命名方法?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信