Borrar filas con DELETE en SQL
DELETE elimina filas enteras; no hay deshacer fuera de una transacción.
DELETE FROM sessions
WHERE expires_at < CURRENT_TIMESTAMP
AND user_id IN (
SELECT id
FROM users
WHERE deleted_at IS NOT NULL
);
Cómo funciona
- Corre antes el mismo
WHEREcomoSELECTpara ver qué se irá. - Una subconsulta puede acotar el borrado a filas halladas en otra parte.
- Borrar por clave primaria es la forma más segura.
Palabras clave y builtins usados aquí
ANDCURRENT_TIMESTAMPDELETEFROMINISNOTNULLSELECTWHERE
El intento, en números
- Líneas
- 7
- Caracteres a escribir
- 127
- Tokens
- 22
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 16 segundos.
Paso 7 de 8 en Tablas y filas; paso 20 de 23 en Fundamentos del lenguaje.