数据库删除重复id,设置id唯一性

本文介绍了在数据库中处理id重复问题的方法,通过添加uid字段并生成随机唯一编码,如使用sys_GUID()函数。此外,还涉及到了不同数据库系统(达梦、MySQL和Oracle)的uid生成方法以及如何分组删除最小uid和删除uid字段,最后确保id字段的唯一性。
摘要由CSDN通过智能技术生成

数据库id重复删除操作:
①新增字段uid

ALTER TABLE BASECOVER.BASE_UNIT ADD UID VARCHAR(100) NULL;

②uid生成随机唯一编码:
达梦数据库:

UPDATE basecover.BASE_UNIT 
SET uid=sys_GUID()

MySQL数据库:

UPDATE basecover.BASE_UNIT 
SET uid=replace(uuid(),"-","")

oracle数据库:

UPDATE basecover.BASE_UNIT 
SET uid=rawtohex(sys_guid())

③分组删除最小uid

delete from BASECOVER.BASE_UNIT
where uid not in(
    select min_id from (
        select 
            min(uid) as min_id
        from BASECOVER.BASE_UNIT 
        group by id
    ) as x
);

④删除uid字段

ALTER TABLE BASECOVER.BASE_UNIT DROP COLUMN UID;

⑤设置id为唯一

ALTER TABLE BASECOVER.BASE_UNIT ADD CONSTRAINT BASE_UNIT_PK PRIMARY KEY (ID);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值