创建唯一索引但存在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);

相关推荐
夜雪一千1 分钟前
MySQL 数据字典如何获得
数据库·mysql
系统集成-鹰翔6 分钟前
ERP推单数据库怎么备份:SQLite WAL模式下只复制db文件为什么可能漏任务
javascript·数据库·经验分享·后端
QianhangQianping8 分钟前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
honsor9 分钟前
用 Grafana 做温湿度异常检测:从阈值告警到趋势预测
数据库·mysql·php
赵渝强老师21 分钟前
【赵渝强老师】YashanDB Developer Center(YDC,崖山数据库开发者中心)
数据库·国产数据库·yashandb·崖山数据库
lusklusklusk24 分钟前
SQL Server 为什么普通 SELECT 会阻塞 UPDATE?——行级 S 锁到表级 S 锁的锁升级原理与实验验证
数据库·mysql·oracle
Leo.yuan31 分钟前
企业业务人员如何独立完成数据分析?2026年自助BI工具选型与应用指南
大数据·数据库·人工智能
roman_日积跬步-终至千里33 分钟前
数仓开发的三层责任:业务定义、模型设计与 SQL 实现
数据库·数据仓库·sql·数据建模
瀚高PG实验室35 分钟前
瀚高数据库创建新数据库卡住问题排查
数据库·postgresql·瀚高数据库
瑶总迷弟1 小时前
银河麒麟 V10 ARM64 安装 Oracle 19c 静默部署操作手册
数据库·oracle