Ограничения CHECK, NULL и DEFAULT в PostgreSQL имеют разные функции:
CHECK задаёт ограничение для диапазона значений, которые могут храниться в столбце. metanit.com После слова CHECK указывается в скобках условие, которому должен соответствовать столбец или несколько столбцов. metanit.com Если условие не выполняется, операция вставки или обновления будет отклонена. help.sweb.ru Например, можно использовать CHECK для предотвращения вставки отрицательных значений, дат из прошлого и прочих некорректных данных. help.sweb.ru
NULL указывает, может ли столбец принимать значение NULL. metanit.com Если этот атрибут явным образом не будет использован, то по умолчанию столбец будет допускать значение NULL. metanit.com Исключением является тот случай, когда столбец выступает в роли первичного ключа — в этом случае по умолчанию столбец имеет значение NOT NULL. metanit.com
DEFAULT определяет значение по умолчанию для столбца. metanit.com Если при добавлении данных для столбца не будет предусмотрено значение, то для него будет использоваться значение по умолчанию. metanit.com Значение, установленное с помощью DEFAULT, будет применено только в том случае, если при вставке явно не указано значение и если столбец разрешает NULL. help.sweb.ru Если столбец запрещает NULL, то будет использовано значение по умолчанию. help.sweb.ru
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.