ON DELETE y ON UPDATE en SQL
La clave foránea exige que la referencia sea real. La acción dice qué pasa cuando deja de serlo.
CREATE TABLE comments (
id INTEGER PRIMARY KEY,
post_id INTEGER NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
author_id INTEGER REFERENCES users(id) ON DELETE SET NULL,
parent_id INTEGER REFERENCES comments(id) ON DELETE RESTRICT,
body TEXT NOT NULL
);
Cómo funciona
ON DELETE CASCADEelimina los hijos junto con el padre.ON DELETE SET NULLconserva el hijo y olvida el vínculo.RESTRICTrechaza el borrado mientras algún hijo siga apuntando a la fila.
Palabras clave y builtins usados aquí
CASCADECREATEDELETEINTEGERKEYNOTNULLONPRIMARYREFERENCESRESTRICTSETTABLETEXT
El intento, en números
- Líneas
- 7
- Caracteres a escribir
- 255
- Tokens
- 51
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 34 segundos.
Paso 1 de 2 en Integridad referencial; paso 6 de 16 en Esquema y restricciones.