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

相关推荐
亓才孓5 小时前
[JDBC]基于三层架构和MVC架构的JDBCTools
数据库
IT邦德5 小时前
RPM包快速安装Oracle26ai
数据库·oracle
Dovis(誓平步青云)5 小时前
《滑动窗口算法:从 “暴力遍历” 到 “线性高效” 的思维跃迁》
运维·服务器·数据库·算法
mr_LuoWei20096 小时前
python工具:python代码知识库笔记
数据库·python
这周也會开心6 小时前
Redis数据类型的底层实现和数据持久化
数据库·redis·缓存
ん贤6 小时前
一次批量删除引发的死锁,最终我选择不加锁
数据库·安全·go·死锁
数据知道6 小时前
PostgreSQL 核心原理:系统内部的对象寻址机制(OID 对象标识符)
数据库·postgresql
倔强的石头_6 小时前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库
Elastic 中国社区官方博客7 小时前
使用 Groq 与 Elasticsearch 进行智能查询
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
穿过锁扣的风7 小时前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle