一.背景
今天在测试过程中发现有数据重复的现象,想设计一个唯一索引达到幂等的效果,但是发现设置了唯一索引以后还是可以插入相同的数据,经过排查,发现联合唯一索引中含有null值会导致索引失效。
二.问题复现
现在我们来复现一下这个场景。
2.1 首先创建一个 user 表,指定 user_name + address 为联合唯一索引
CREATE TABLE `t_user` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_name` varchar(256) NOT NULL COMMENT '用户名',
`sex&