1

Тема: Ошибка при выполнении запроса

Здравствуйте,выполняю запрос :
DROP TABLE IF EXISTS dle_referer; CREATE TABLE dle_referer ( `id` int(11) NOT NULL auto_increment, `referer` varchar(255) NOT NULL default '', `date` varchar(20) default NULL, `host` varchar(125) NOT NULL default '', `hits` smallint(6) default '0', `request` text NOT NULL, `uri` varchar(255) NOT NULL default '', `position` text NOT NULL, `user_ip` varchar(16) NOT NULL default '', `type` varchar(10) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM; INSERT INTO `dle_admin_sections` VALUES ('', 'referer', 'Переходы с сайтов', 'Учёт совершенных переходов на Ваш сайт. Просмотр поисковых запросов с поисковых систем. Версия 6.0', 'referer.png', '1');

А мне выдается ошибка :

Ошибка

SQL-запрос:

INSERT INTO `dle_admin_sections`
VALUES (
'', 'referer', 'Переходы с сайтов', 'Учёт совершенных переходов на Ваш сайт. Просмотр поисковых запросов с поисковых систем. Версия 6.0', 'referer.png', '1'
);

Ответ MySQL: Документация
#1366 - Incorrect integer value: '' for column 'id' at row 1

Помогите пожалуйста!
phpMyAdminверсия: 3.1.3
Версия MySQL-клиента: 5.0.51a
Apache/2.2.11 (Win32) PHP/5.2.9

2

Re: Ошибка при выполнении запроса

klop
В поле `id` int(11) NOT NULL auto_increment нельзя вставлять значение в виде пустой строки (''), может быть только целое число, или NULL.

Данную ошибку можно убрать изменив в конфигурационном файле my.ini/my.cnf значение директивы sql-mode (режим совместимости SQL запросов) убрав STRICT_TRANS_TABLES, но такой вариант крайне не рекомендуется, лучше сделать иначе: в дамп, выше запросов на создание таблиц, добавить запрос на временное (сессионное) обнуление директивы sql_mode.
SET SESSION sql_mode='';

3

Re: Ошибка при выполнении запроса

Спасибо,буду модуль исправлять:)

4

Re: Ошибка при выполнении запроса

klop сказал:

Спасибо,буду модуль исправлять:)

Вот,кстати, я сделал вот такой запрос : SET global  sql_mode='';
и у меня получилось

5

Re: Ошибка при выполнении запроса

Hanut сказал:

klop
В поле `id` int(11) NOT NULL auto_increment нельзя вставлять значение в виде пустой строки (''), может быть только целое число, или NULL.

Данную ошибку можно убрать изменив в конфигурационном файле my.ini/my.cnf значение директивы sql-mode (режим совместимости SQL запросов) убрав STRICT_TRANS_TABLES, но такой вариант крайне не рекомендуется, лучше сделать иначе: в дамп, выше запросов на создание таблиц, добавить запрос на временное (сессионное) обнуление директивы sql_mode.
SET SESSION sql_mode='';

Тоже была подобная ошибка, долго не мог понять ее, тут нашел вот - что не так..., спасибо уважаемый Hanut!))