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

相关推荐
CNSSIRD数据库1 分钟前
中国企业环境信用数据库2003-2026
大数据·数据库·数据分析·论文笔记
fd320030 分钟前
达梦数据库更新统计信息后仍走旧执行计划解决方案
数据库
华章酱1 小时前
MySQL幻读是怎么出现的
数据库·mysql·幻读
浅念-1 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday8542 小时前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Nturmoils2 小时前
只恢复一张表,别把整个库都还回去
数据库
龙腾AI白云2 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
SelectDB3 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB3 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
这个DBA有点耶3 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构