MySQL
MySQL
INSERT IGNORE INTO tags (id, name) VALUES (1, 'sql');
-- 重复键:跳过;数据截断等错误:变成 warning 后继续PostgreSQL
PostgreSQL
INSERT INTO tags (id, name) VALUES (1, 'sql')
ON CONFLICT (id) DO NOTHING;| MySQL IGNORE | 把可转为警告的错误全部忽略(不只重复键) |
|---|---|
| PostgreSQL | DO NOTHING 仅处理指定的冲突目标 |
| 可观测 | 两库都建议核对受影响行数,及时发现被跳过的数据 |