For CHECK constraints, SQLite shows the name in error messages. For other constraints, the SQL standard allows them. I guess treating non-constraint column properties as constraints makes the SQLite grammar simpler, although it is not allowed by the standard: ``` <column definition> ::= <column name> [ <data type> | <domain name> ] [ <reference scope check> ] [ <default clause> | <identity column specification> | <generation clause> ] [ <column constraint definition>... ] [ <collate clause> ] ```