snrg.net
当前位置:首页 >> orAClE多个主键 >>

orAClE多个主键

1. 主键冲突--一个表可以有两个主键的作用&表中已有主键新增一个主键语句 2. 一个表可以有两个主键的作用: 3. primary key for table xs ' is not unique:主键冲突 4. 首先,那两个字段都变成了主键,这话是不确切的. 5. 严格的说因为是你选择的那两个字段共同构成了主键,也就是 "学生编号+课程编号 " 6. 的组合是一个主键,这个组合不能够重复,不能够同时为空, 而不是 "学生编号 " !

1、这种情况可以随便设置哪个字段为主键,另外一个字段建个唯一索引就可以了,而不能把2个字段都设置为主键,比如:alter table 表名 add constraint PK_1 primary key (身份证号字段) using index;--建主键 create unique index IDX_1 on 表名 (员工号字段);--建唯一索引这样,创建的表里的身份证号 和 员工号,都不可能重复,避免垃圾数据2、这种就只能把2个字段都设置为主键了,如:alter table 表名 add constraint PK_2 primary key (姓名字段, 出生日期字段) using index

直接通过pl/sql devrloper加,界面操作,简单方便.

alter table t1 add constrait pk_t1 primary key on(col1,col2,……)

create table House( id integer primary key, type_d integer not null, user_id integer not null, street_id integer not null, title varchar2(50) not null, --标题 description clob , --类型 dates Date , --时间 price number , --价格 contact varchar2(10), --

Create Table MyINFO(id Number(3) Not Null,Name Varchar2(15) Not Null,code varchar2(6),Constraint pk_mytable Primary Key(id,Name))

对,就是联合主键.你如果不确定,你把这张表右键-转储成sql文件打开看一下就全知道了,最后就是:PRIMARY KEY (`字段1`,`字段2`)这样的.两个字段共同形成同一个主键.

先删除主键 alter table 表名 drop constraint 主键名; 如果不知道主键名,可以用 SELECT * from user_cons_columns; 来查询 然后增加主键:alter table 表名 add constraint 主键名 primary key(col1,col2,col3); 主键列都是不能为空的,所以你新增列,要设置好值后才可以.

1. 建表的时候,可以直接在列名后面增加主键约束,比如: id char(5) primary key.2. 对已经建表的列增加主键约束:alter table 表名 add constraint 约束名 primary key (id)

2主键一个表只能有一个, XN),实际上还是一个主键.如 1,1,0001,0001,3,0002,1.上表的主键是两个列构成的(XH

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com