插入冲突
冲突处理用于决定 INSERT 遇到主键或唯一键冲突时应当报错、忽略还是更新,常见于任务重放、数据同步、重复导入和“存在则更新”场景。判断和写入由 MySQL 在一条语句中完成,不需要先查询再决定 INSERT 或 UPDATE。
处理方式
| 策略 | MySQL 语句 | 结果 |
|---|---|---|
| Into | INSERT INTO ... VALUES (...) | 冲突时由数据库报错 |
| Ignore | INSERT IGNORE ... VALUES (...) | 冲突行不写入 |
| Update | INSERT ... ON DUPLICATE KEY UPDATE ... | 无冲突时插入,有冲突时更新 |
MySQL 根据表上的主键和唯一约束检测冲突,Ignore 和 Update 不依赖 dbVisitor 的主键映射来选择冲突目标。