| 用途 | 冲突策略 |
|---|---|
| IGNORE | 遇冲突跳过 |
| UPSERT | ON DUPLICATE KEY UPDATE |
| REPLACE | DELETE + INSERT |
UPSERT 示例
UPSERT 示例
INSERT INTO counters (id, cnt) VALUES (1, 1)
ON DUPLICATE KEY UPDATE cnt = cnt + 1;IGNORE 与 REPLACE
IGNORE 与 REPLACE
INSERT IGNORE INTO tags (name) VALUES ('sql');
REPLACE INTO kv_setting (k, v) VALUES ('theme', 'dark');REPLACE 会删除旧行再插入新行:自增 id 变化、触发器与级联外键都会被触发,能用 UPSERT 就别用 REPLACE。