Вопрос: Как занести в ячейку таблицы базы данных 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 смотрю и вижу !Ноль
П О Ч Е М У ?
подскажите пжлста из-за чего это может быть?
= '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','','','доп инф к адресу','','','','','
ну и соответственно в базе по старому НУЛИ
В переменной $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 написал(а):
Смотри, вот структура БД:
Вот запрос:
вставляются значения NULL в ячейку
sharki, хватит уже чушь нести.
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. Буду знать
Интересно, в моей БД NULL не вставлялся... щас глянул действительно нужно поставить DEFAULT NULL. Буду знать

Спустя 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
Наверное просто нужно знать как это сделать...
У меня опыта просто нет, я думаю, что только Ваш гений сможет ответить на данный вопрос...
(извиняюсь за мелкий подхалимаж
) )
Прикрепляю изображения:
http://www.imagepost.ru/?v=f001.gif
здесь мы видим что в полях: ObjectTypeID и TypeDealID
стоят NULL
Структура этих полей:
http://www.imagepost.ru/?v=f002.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
убрал одинарные кавычки - все заработало как надо
ОГРОМНОЕ СПАСИБО!
строку
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 |
я тебе это во втором своем сообщении говорил

Цитата (Michael) |
вместо 'null' пиши NULL. |