插入新数据是直接查重,如果有重复则不插入数据
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执行插入时,遇到重复键值时,如何设置才能让新插入的数据覆盖原有旧数据;要用存储过程么?