mysql的重复插入相同的数据

刺骨的言语ヽ痛彻心扉 2022-03-18 15:55 1518阅读 0赞

mysql的重复插入相同的数据

有两种方式(第一种是主键的重复插入,第二种就是关系表里面的重复)

在实际应用中,在实际的开发中我们经常会遇到一些重复的数据的问题,我个人首先想到的是去查一下,然后判断有没有在进行插入或者给更新操作

1 主键重复更新

  1. <insert id="insertOrUpdateCameraInfoByOne" paramerType="com.pojo.AreaInfo">
  2. insert into camera_info( cameraId,zone1Id,zone1Name,zone2Id,zone2Name,zone3Id,zone3Name,zone4Id,zone4Name)
  3. VALUES(
  4. #{cameraId},#{zone1Id},#{zone1Name}, #{zone2Id},
  5. #{zone2Name}, #{zone3Id}, #{zone3Name},
  6. #{zone4Id}, #{zone4Name},)
  7. ON DUPLICATE KEY UPDATE
  8. cameraId = VALUES(cameraId),
  9. zone1Id = VALUES(zone1Id),zone1Name = VALUES(zone1Name),
  10. zone2Id = VALUES(zone2Id),zone2Name = VALUES(zone2Name),
  11. zone3Id = VALUES(zone3Id),zone3Name = VALUES(zone3Name),
  12. zone4Id = VALUES(zone4Id),zone4Name = VALUES(zone4Name)
  13. </insert>

2 当数据库里面有这个数据的时候就更新,负责插入操作

  1. INSERT INTO (字段1, 字段2)
  2. SELECT
  3. #{item.1},
  4. #{item.2}
  5. FROM
  6. DUAL
  7. WHERE NOT EXISTS
  8. (SELECT
  9. SALES_PERFORMANCE_GROUP_ID,
  10. USER_ID
  11. FROM
  12. WHERE 字段1= #{item.1} AND 字段2= #{item.2} )
  13. 这种情况下,在插入的时候就不会插入两个重复的数据

















字段1 字段2
111 222
111 222

不会出现这样子的数据

发表评论

表情:
评论列表 (有 0 条评论,1518人围观)

还没有评论,来说两句吧...

相关阅读