Установленна тестовая ВЕБ версия.
При попытке добавить категорию выдает ошмбку
Fatal error: Incorrect integer value: '' for column 'id' at row 1
INSERT INTO versal_cats VALUES ('', '1', 'aaa', 'qqqq')
in .....\cb\edit_cat.php on line 55
если создать категорию руками в базе то при попытке создать таблицу получаем
Fatal error: Incorrect integer value: '' for column 'id' at row 1
INSERT INTO versal_tables VALUES ('', '3', '1', 'www', 'eeee', 'rrrr', '', '', '', '', '0', '0')
in .....\cb\edit_table.php on line 97
т.е первый аргумент - '' не воспринимается базой как NULL
чего надо сделать чтобы воспринимала?
mysql 5.1.34-community
Ошибка при создании категории / таблицы
Автор alozio , 06 июля 2010 22:05
Сообщений в теме: 8
#1
Отправлено 06 Июль 2010 - 22:05
#2
Отправлено 09 Июль 2010 - 12:30
Уважаемая администрация, в течение, какого срока принято давать ответы на сообщения с ошибками, или хотя бы извещать, что они приняты к рассмотрению?
Нашей организации требуется электронная система по управлению персоналом и документами. По совету знакомых на наш веб сервер была установлена тестовая версия Вашей программы, но продемонстрировать ее возможности руководству не представляется возможным, т.к. невозможно создать ни однй категории или таблицы.
Сколько еще ожидать ответа на поставленный вопрос, или лучше сразу искать альтернативные версии других фирм?
Нашей организации требуется электронная система по управлению персоналом и документами. По совету знакомых на наш веб сервер была установлена тестовая версия Вашей программы, но продемонстрировать ее возможности руководству не представляется возможным, т.к. невозможно создать ни однй категории или таблицы.
Сколько еще ожидать ответа на поставленный вопрос, или лучше сразу искать альтернативные версии других фирм?
#3
Отправлено 09 Июль 2010 - 15:00
Мы же разговаривали с вами в онлайн консультанте, я отправил вам бэкап, который Вы должны были залить.
#4
Отправлено 09 Июль 2010 - 15:00
Это было 7-го числа
#5
Отправлено 10 Июль 2010 - 00:02
Техподдержка (9.7.2010, 15:00) писал:
Это было 7-го числа
Тут, видимо накладка произошла, т.к. с Вами или с тем кто был консультантом не я разговаривал. Сейчас мне передали дамп, я залил его на чистую базу. Результат тот же самый.
Проблема то не в дампе, а в том, что MySQL сервер не воспринимает '' как NULL, что собственно говоря и видно из сообщения об ошибке.
Если я сделаю запрос не в виде
INSERT INTO cb_cats VALUES ('', '1', 'aaaa', 'bbbb')
а какINSERT INTO cb_cats VALUES (NULL, '1', 'aaaa', 'bbbb')то все замечательно создается.
Надо поменять настройки базы, но глобальные настройки через my.ini я не могу менять, т.к. там работают и наш софт.
А установить настройки для сессии в Вашей программе нельзя т.к. код зашифрован.
#6
Отправлено 13 Июль 2010 - 15:50
NULL тут вообще не причем. Он не используются в нашей бд. Там должен записываться обычный 0 (цифра). Проблема в том что в настройках MySQL на вашем хостинге стоит жесткий контроль соответствия типа поля и заносимого значения, тогда как в программе допускается запись в числовое поле пустой строки ('') с последующим его автопреобразованием в ноль самим mysql. Тут либо надо менять настройки хостинга с вашей стороны, либо с нашей стороны менять движок программы на более строгое соответствие типам полей, а вам соответственно ждать выхода версии с данным исправлением.
#8
Отправлено 13 Июль 2010 - 16:14
Разработчик (13.7.2010, 15:51) писал:
NULL тут вообще не причем. Он не используются в нашей бд. Там должен записываться обычный 0 (цифра). Проблема в том что в настройках MySQL на вашем хостинге стоит жесткий контроль соответствия типа поля и заносимого значения, тогда как в программе допускается запись в числовое поле пустой строки ('') с последующим его автопреобразованием в ноль самим mysql. Тут либо надо менять настройки хостинга с вашей стороны, либо с нашей стороны менять движок программы на более строгое соответствие типам полей, а вам соответственно ждать выхода версии с данным исправлением.
Именно в этом и причина, т.е '' понимается БД как строка, отсюда и сообщение о несовпадении типов.
Разработчик (13.7.2010, 15:51) писал:
А сессии то тут причем?
Эти настройки можно указывать как глобально для всей БД так и для текущей сессии. И приводить соответствие типов в принципе не обязательно. Достаточно при коннекте с БД установить необходимый режим. Обычно это делается (коннект) один раз так, что скорее всего, достаточно добавить одну строку
Обычно идет что-нибудь в стиле
mysql_connect(...);
mysql_select_db(...);
ну и после этого добавить.
mysql_query("set session sql_mode = ''");
#9
Отправлено 13 Июль 2010 - 16:23
Понятно, я думал речь о сессиях PHP.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных












