Lessico IT › Database › Vincolo CHECK

Vincolo CHECK

Database Svenska → Aggiornato: 2026-10-01

Funzione SQL: un predicato che ogni riga deve soddisfare, ad esempio CHECK (age >= 0). La validazione avviene nel database e non nel codice applicativo, quindi l'invariante regge anche se scrive un altro client.

Adatto alle regole di dominio: status IN ('active','pending','closed'), email LIKE '%@%', start_date < end_date. PostgreSQL lo supporta per intero; MySQL a lungo li ha ignorati (li leggeva ma non li applicava), fino alla 8.0.16 (2019). Spesso si combina con i tipi di dominio per esprimere validazioni complesse. Prestazioni: i controlli semplici sono gratuiti in INSERT/UPDATE; le sottoquery nei CHECK non esistono nello standard SQL. I vincoli di esclusione di PostgreSQL seguono un'idea simile per la validazione tra più righe.

← Torna al lessico