创建唯一索引但存在NULL

--创建虚拟列

ALTER TABLE mch_channel ADD COLUMN merchant_unique_key VARCHAR ( 250 ) GENERATED ALWAYS AS (

CASE

WHEN third_merchant_code IS NOT NULL

AND TRIM( third_merchant_code ) != '' THEN

CONCAT( channel_code, '|||', -- 使用不易冲突的分隔符

UPPER( TRIM( third_merchant_code )) -- 统一大小写和去除空格

) ELSE NULL

END

) VIRTUAL COMMENT '非空商户号唯一键';

-- 创建唯一索引

CREATE UNIQUE INDEX uk_channel_merchant_nonnull

ON mch_channel(merchant_unique_key);

相关推荐
扑火的小飞蛾2 小时前
【Oracle Database 分区表】之新特性_18c(三)
数据库·oracle
九章-2 小时前
集中式数据库 vs 分布式数据库:2026 最新对比,选哪个更合适?
数据库·分布式·集中式
softshow10262 小时前
Redis 分布式锁必避问题及解决方案
数据库·redis·分布式
韩立学长2 小时前
【开题答辩实录分享】以《足球球员数据分析系统开题报告》为例进行选题答辩实录分享
java·数据库·mysql
Gauss松鼠会2 小时前
【openGauss】openGauss 如何进行数据库例行维护
数据库·sql·database·opengauss
萧咕2 小时前
理解MySQL数据可视化的核心概念
数据库·mysql·信息可视化
wWYy.2 小时前
详解redis(5):Gossiping 协议
数据库·redis·缓存
霖霖总总2 小时前
[小技巧40]MySQL中的MVCC:多版本并发控制的深度解析
数据库·mysql
德彪稳坐倒骑驴2 小时前
DataX将数据在MySQL和HDFS之间互相迁移
数据库·mysql·hdfs