[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как занести в ячейку NULL?
SergSerg
Доброго времени суток,

Вопрос: Как занести в ячейку таблицы базы данных MySQL значение: NULL?

Я программно формирую SQL запрос внесение записи в базу MySQL:
INSERT INTO $table_operation ($strFieldName) VALUES ('$strPropsVALUE');

Переменная $strPropsVALUE выглядит так:
2','','','objects','AddressDesc','167','50','','','доп инф к адресу','','','','','

Т.е. мы видим, что некоторых значений нет.
В ячейку, когда значение «ничего нет», вносится: 0
!!!ноль

Но нужно что бы вносился NULL – как это сделать?

Характеристики поля в которое заносим значение:
Тип: int(11)
Ноль: Да
По умолчанию: NULL
Изменить характеристики таблицы нет возможности.


Заранее спасибо за ответ.




Спустя 43 минуты, 54 секунды (11.06.2011 - 16:35) Michael написал(а):
Там где ты пустую строку подставляешь, она преобразуется к числу и становится нулем. Пиши вместо нее NULL.

Спустя 9 минут, 43 секунды (11.06.2011 - 16:45) SergSerg написал(а):
присваиваю
= 'null';

Переменная $strPropsVALUE выглядит уже так:
2','null','','objects','AddressDesc','167','50','','','доп инф к адресу','','','','','

выполняю занесение в базу, захожу через phpMyAdmin смотрю и вижу !Ноль

П О Ч Е М У ?

подскажите пжлста из-за чего это может быть?

Спустя 4 минуты, 1 секунда (11.06.2011 - 16:49) sharki написал(а):
Тип: int(11) - в числовую строку не может занестись СТРОКОВОЕ ЗНАЧЕНИЕ. Если было бы varchar то и был бы NULL, а так 0

Спустя 2 минуты, 40 секунд (11.06.2011 - 16:52) Michael написал(а):
вместо 'null' пиши NULL.

Спустя 18 минут, 55 секунд (11.06.2011 - 17:11) SergSerg написал(а):
Michael, сделал вместо 'null' - NULL

В переменной $strPropsVALUE нет NULL:
2','','','objects','AddressDesc','167','50','','','доп инф к адресу','','','','','

ну и соответственно в базе по старому НУЛИ

Спустя 1 минута, 7 секунд (11.06.2011 - 17:12) sharki написал(а):
SergSerg
Я тебе уже ответил почему, вдумайся.

Спустя 1 минута, 5 секунд (11.06.2011 - 17:13) SergSerg написал(а):
sharki
Цитата
Тип: int(11) - в числовую строку не может занестись СТРОКОВОЕ ЗНАЧЕНИЕ. Если было бы varchar то и был бы NULL, а так 0


Т.е. получается что вообще невозможно внести в ячейку NULL ?

Спустя 2 минуты, 52 секунды (11.06.2011 - 17:16) sharki написал(а):
В поле с типом INT нет.

Спустя 2 минуты, 23 секунды (11.06.2011 - 17:18) Michael написал(а):
Смотри, вот структура БД:
CREATE TABLE `uuu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ddd` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8

Вот запрос:
INSERT INTO `uuu`(ddd) VALUES(NULL)

вставляются значения NULL в ячейку


sharki, хватит уже чушь нести.

Спустя 3 минуты, 59 секунд (11.06.2011 - 17:22) sharki написал(а):
Michael
Интересно, в моей БД NULL не вставлялся... щас глянул действительно нужно поставить DEFAULT NULL. Буду знать smile.gif

Спустя 12 минут, 48 секунд (11.06.2011 - 17:35) SergSerg написал(а):
sharki, я склоняю голову перед Вашим авторитетом, но вынужден не согласиться с Вами.

Прикрепляю изображения:
http://www.imagepost.ru/?v=f001.gif
здесь мы видим что в полях: ObjectTypeID и TypeDealID
стоят NULL

Структура этих полей:
http://www.imagepost.ru/?v=f002.gif

Наверное просто нужно знать как это сделать...

У меня опыта просто нет, я думаю, что только Ваш гений сможет ответить на данный вопрос...
(извиняюсь за мелкий подхалимаж smile.gif) )

Спустя 50 секунд (11.06.2011 - 17:36) SergSerg написал(а):
Извиняюсь опять медленно отвечал

Спустя 1 минута, 51 секунда (11.06.2011 - 17:37) SergSerg написал(а):
Я отвлекусь на некоторое время - пошел пробовать,
ОГРОМНОЕ СПАСИБО!

Спустя 1 час, 48 минут, 26 секунд (11.06.2011 - 19:26) SergSerg написал(а):
Не знаю, м.б. кому то понадобиться, как решил вопрос:
строку
2','NULL','NULL','objects','AddressDesc','167','50','','','доп инф к адресу','','','','','

заменил на
2',NULL,NULL,'objects','AddressDesc','167','50','','','доп инф к адресу','','','','','
ну т.е.
'NULL'
заменил на
NULL
убрал одинарные кавычки - все заработало как надо

ОГРОМНОЕ СПАСИБО!

Спустя 15 часов, 12 минут, 26 секунд (12.06.2011 - 10:38) Michael написал(а):
Цитата (SergSerg)
Не знаю, м.б. кому то понадобиться, как решил вопрос: т.е. 'NULL' заменил на NULL

я тебе это во втором своем сообщении говорил wink.gif :
Цитата (Michael)
вместо 'null' пиши NULL.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.