Cómo una escritura maneja un conflicto en SQL
Ignorarlo, reemplazar la fila, o actualizar las partes que querías actualizar.
INSERT OR IGNORE INTO tags (name)
VALUES ('sql');
INSERT OR REPLACE INTO daily_counts (day, hits)
VALUES ('2026-07-29', 1);
INSERT INTO daily_counts (day, hits)
VALUES ('2026-07-29', 1)
ON CONFLICT (day)
DO UPDATE SET
hits = daily_counts.hits + 1
WHERE daily_counts.hits < 1000;
Cómo funciona
INSERT OR IGNOREsalta la fila que violaría una restricción.INSERT OR REPLACEborra primero la fila vieja — incluidas sus otras columnas.ON CONFLICT DO UPDATEes el que fusiona en lugar de aplastar.
Palabras clave y builtins usados aquí
DOIGNOREINSERTINTOONORREPLACESETUPDATEVALUESWHEREday
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 280
- Tokens
- 66
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 42 segundos.
Paso 4 de 5 en Transacciones; paso 14 de 17 en Planes y rendimiento.