Restricciones CHECK en SQL
Una restricción es una regla que la base de datos no dejará olvidar a tu código.
CREATE TABLE invoices (
id INTEGER PRIMARY KEY,
subtotal REAL NOT NULL CONSTRAINT positive_subtotal CHECK (subtotal >= 0),
discount REAL NOT NULL DEFAULT 0,
status TEXT NOT NULL CHECK (status IN ('draft', 'sent', 'paid')),
CONSTRAINT discount_within_subtotal CHECK (discount <= subtotal)
);
Cómo funciona
- Una restricción con nombre pone su propio nombre en el mensaje de error.
- Los checks de columna ven una columna; los de tabla, la fila entera.
- El check corre en cada escritura, así que nunca puede quedar desactualizado.
Palabras clave y builtins usados aquí
CHECKCONSTRAINTCREATEDEFAULTININTEGERKEYNOTNULLPRIMARYREALTABLETEXT
El intento, en números
- Líneas
- 7
- Caracteres a escribir
- 290
- Tokens
- 58
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 41 segundos.
Paso 1 de 5 en Restricciones; paso 1 de 16 en Esquema y restricciones.