Ответ 1
Добавьте ограничение к определению столбца. Например, что-то вроде:
ads character varying(60) NOT NULL CHECK (ads <> '')
Подробнее см. http://www.postgresql.org/docs/current/static/ddl-constraints.html
Я использую postgreSQL. У меня есть столбец, который:
NOT NULL
Однако, когда я хочу вставить строку с пустой строкой как:
''
он не дает мне ошибку и принимает. Как проверить значение вставки должно быть not empty
? (Ни пустой, ни нулевой)
PS: Мой столбец определяется как:
"ads" character varying(60) NOT NULL
Добавьте ограничение к определению столбца. Например, что-то вроде:
ads character varying(60) NOT NULL CHECK (ads <> '')
Подробнее см. http://www.postgresql.org/docs/current/static/ddl-constraints.html
Найденный в текущая документация 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 не могут содержать подзапросы и не ссылаются на переменные, отличные от столбцов текущей строки.