postgresql обрабатывает нулевые значения - PullRequest
1 голос
/ 19 апреля 2011

Я использую postgresql для базы данных.И условие на поле не является нулевым.Когда пользователь не заполняет это поле и нажимает на, введите исключение для его нулевого указателя, потому что в postgresql для целого числа он не примет accept "". Любая идея о том, как обработать этот случай

Ответы [ 3 ]

4 голосов
/ 19 апреля 2011

Если вы можете изменить инструкцию INSERT, вы можете использовать функцию COALESCE () для автоматической замены значения NULL на другое указанное вами значение.

Вот пример для автоматической вставки 0 (нуля) вполе состояния, когда переменная $ status не установлена:

INSERT INTO foo (name, status) VALUES ($name, COALESCE($status, 0) );

Функция COALESCE может принимать любое количество аргументов и возвращает первое найденное значение, отличное от NULL.Это удобно, когда у вас есть «водопад» значений, которые вы хотите попробовать, прежде чем установить значение по умолчанию.Например:

COALESCE($status1, $status2, $status3, $status4, 0)
3 голосов
/ 19 апреля 2011

Поскольку ваше поле не принимает NULL, вы должны установить его с действительным целым числом.

Замените пустую строку на 0 (или другое значение по умолчанию) на стороне клиента.

1 голос
/ 19 апреля 2011

Проверьте вашу форму с помощью javascript, и, если идет "" из текстового поля, просто присвойте 0 этому значениюЗатем передайте это значение как целочисленное значение и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...