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

相关推荐
小马爱打代码4 分钟前
框架 - 组件 - 中间件:生产级参数配置指引
数据库·中间件
asdfg125896321 分钟前
一文通俗理解JDBC中的核心概念+案例
java·数据库·oracle·jdbc
点灯小铭28 分钟前
基于单片机与DAC0832的双路波形信号发生系统设计
数据库·单片机·mongodb·毕业设计·课程设计·期末大作业
小陈phd34 分钟前
Text2SQL智能体学习笔记(二)——NL2SQL落地的隐形基石:元数据库
数据库·笔记·学习
霸道流氓气质35 分钟前
阿里云 OSS 从零到实战:概念、配置与 Spring Boot 集成指南
数据库·spring boot·阿里云
茉莉玫瑰花茶35 分钟前
综合案例 - AI 智能租房助手 [ 4 ]
数据库·python·ai·langgraph
ULIi096kr37 分钟前
MySQL查看表创建时间、修改时间、最后更新时间(精准排查僵尸表)
数据库·mysql
折哥的程序人生 · 物流技术专研1 小时前
Tomcat 严重警告:JDBC 驱动未注销 + 工作线程泄漏 —— 原因、影响与彻底修复(生产级终极指南)
java·运维·数据库·mysql·oracle·tomcat
初圣魔门首席弟子1 小时前
Qt C++ 项目实战:修改共享头文件后的高效增量编译与快速发布流程
数据库
wb043072011 小时前
仓库搬家不停业——从阿明的“在线换仓库“,看数据库迁移与 Schema 演进的实战方法论
数据库·adb·架构