双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

mysql:4个字段组成的序列,该序列唯一

十八道胡同 十八道胡同 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
 
insert into etcvehiclerecord(userId,vehicleId,obuid,cardid)
select distinct o.userId , o.vehicleId ,o.id obuid ,c.id cardid from
obuupload o
left JOIN cardupload c ON o.vehicleId = c.vehicleId and o.userId =c.userId
left JOIN vehicleupload v ON o.vehicleId = v.id and o.userId =v.userId;


3个表,组合查询,查询出来4个字段,该4个字段组成序列唯一,其中某个字段因为可能为NULL,所以这4个字段无法组成联合索引。
历史的数据,可以用这个脚本查出来。但是增量的数据怎么增加呢?


一种办法,就是代码的方式,先把所有的序列查出来,然后挨个判断4字段序列。
如果新的序列是4个字段全部为非空,且表里面没有则新增。
如果新的序列是4个字段全部为非空,但表里面有一个序列某字段为空的。把之前的存在某字段为空的序列删掉,把新的4序列入库。
如果新的序列是4个字段,部分字段为空(是新办的),直接入库。
但是这个比较麻烦,想问下大家有没有直接用sql脚本的方式来做?
...全文
评论 3
收藏 已收藏
分享
返回顶部
十八道胡同
MySQL 57,062 成员 56,759 内容