Подтвердить что ты не робот

SQL Not Empty вместо Not NULL

Я использую postgreSQL. У меня есть столбец, который:

NOT NULL

Однако, когда я хочу вставить строку с пустой строкой как:

''

он не дает мне ошибку и принимает. Как проверить значение вставки должно быть not empty? (Ни пустой, ни нулевой)

PS: Мой столбец определяется как:

"ads" character varying(60) NOT NULL
4b9b3361

Ответ 2

Найденный в текущая документация postgreSQL вы можете сделать следующее, чтобы достичь того, чего вы хотите:

CREATE TABLE distributors (
    did    integer PRIMARY KEY DEFAULT nextval('serial'),
    name   varchar(40) NOT NULL CHECK (name <> '')
);

Из документации:

CHECK ( expression )

Предложение CHECK указывает выражение, производящее логический результат  какие новые или обновленные строки должны удовлетворять для вставки или обновления  чтобы добиться успеха. Выражения, оценивающие TRUE или UNKNOWN  добиться успеха. Если какая-либо строка операции вставки или обновления создает  FALSE возникает ошибка исключения, а вставка или обновление  не изменяет базу данных. Контрольное ограничение, заданное как столбец  ограничение должно ссылаться только на это значение столбца, тогда как  выражение, появляющееся в ограничении таблицы, может ссылаться на несколько  столбцы.

В настоящее время выражения CHECK не могут содержать подзапросы и не ссылаются на переменные, отличные от столбцов текущей строки.