mysql 先查询后新增
程序员文章站
2022-05-23 09:57:35
...
两种方案:
1. 利用CONCAT(fromPartyId,partyId) 拼接的字符串做唯一性限制
insert into relation
(fromPartyId, partyId, isDelete, inputDate, inputMan, updateDate, updateMan)
select fromPartyId, partyId, isDelete, inputDate, inputMan, updateDate, updateMan from car where isDelete = 0
and CONCAT(fromPartyId,partyId) not in(
select concat(fromPartyId,partyId) from relation
)
2. 利用NOT EXISTS,查询整条数据,做唯一性查询
insert into relation
(fromPartyId, partyId, isDelete, inputDate, inputMan, updateDate, updateMan)
select fromPartyId, partyId, isDelete, inputDate, inputMan, updateDate, updateMan from car where isDelete = 0 and NOT EXISTS (
select fromPartyId, partyId, isDelete from relation where isDelete = 0
);
推荐阅读
-
Mysql升级到5.7后遇到的group by查询问题解决
-
Mysql查询表结构、索引导出excel及索引查询后的列名含义
-
mysql查询 分组后前 N条数据
-
mysql对无索引的字段进行排序后limit,有可能导致分页查询重复出现问题
-
【laravel】同一代码段内,先更新数据,后查询修改的数据,查询结果错误的问题
-
MySQL使用MRG_MyISAM(MERGE)实现分表后查询的示例
-
Mysql存储过程——通过百度坐标,查询半径内符合条件的用户以及排序后的距离
-
MySQL 查询后插入或更新导致表损坏解决方法
-
mysql 搜索时,怎么做拆词查询,php实验拆词我已经做到了,问题在拆了词后怎么查询数据库
-
Mysql升级到5.7后遇到的group by查询问题解决