插入新数据是直接查重,如果有重复则不插入数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入新数据是直接查重,如果有重复则不插入数据相关的知识,希望对你有一定的参考价值。

mabatis的XML文件写法

<insert id="saveIfNoExit" parameterType="pd">
INSERT INTO t_cluster_server (id,cluster_id,server_id)
SELECT
#{id},
#{clusterId},
#{serverId}
FROM
DUAL
WHERE NOT EXISTS (
SELECT
*
FROM
t_cluster_server
WHERE
t_cluster_server.cluster_id = #{clusterId} and
t_cluster_server.server_id = #{serverId}
);
</insert>

 

 

sql语句:

 

INSERT INTO t_cluster_server (
id,
cluster_id,
server_id
) SELECT
10345,
‘IBM‘,
‘advertising‘
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
*
FROM
t_cluster_server
WHERE
t_cluster_server.cluster_id = ‘IBM‘ and
t_cluster_server.server_id = ‘advertising‘
);

以上是关于插入新数据是直接查重,如果有重复则不插入数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL执行插入时,遇到重复键值时,如何设置才能让新插入的数据覆盖原有旧数据;要用存储过程么?

数据结构和算法基础之直接插入排序

MySQL 常用插入语法总结

insert into 语句 怎么实现 如果插入的值有重复 那么就直接覆盖呢?

java基础 insert方法问题?

数据结构插入排序 (直接插入排序 希尔排序)