如何向Oracle已经有数据的表中增加主键

如何向Oracle已经有数据的表中增加主键,第1张

主键必须保持数据的唯一性,如果你的重复记录能够删除,执行

select a from table group by a having count(a)>1

select * from table where a is null

把重复的值选出删除,

执行

alter table tab_a add constraint pk_tab_a primary key(col1)

注意primary key 会自动建立一个索引,所在的表空间同表的表空间在一起,注意你的

表空间的大小!

1、创建表的同时创建主键约束

(1)无命名

create

table

student

(

studentid

int

primary

key

not

null,

studentname

varchar(8),

age

int)

(2)有命名

create

table

students

(

studentid

int

,

studentname

varchar(8),

age

int,

constraint

yy

primary

key(studentid))

2、删除表中已有的主键约束

(1)无命名

可用

SELECT

*

from

user_cons_columns

查找表中主键名称得student表中的主键名为SYS_C002715

alter

table

student

drop

constraint

SYS_C002715

(2)有命名

alter

table

students

drop

constraint

yy

3、向表中添加主键约束

alter

table

student

add

constraint

pk_student

primary

key(studentid)

1.先清理现有的数据并规划只能一个主键,或者考虑组合主键(即ID列与另一个关键列组合成主键)

2.通过SQL增加主键:alter table tabname add constraint tabname_pk primary key (id) enable validate

组合键:alter table tabname add constraint tabname_pk primary key (id,另一列名) enable validate


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11961198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存