SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.08.2010 16:23:12

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

MySQL Error! Data too long for column 'useragent' at row 1

Доброго! Помогите пожалуйста, сегодня начала появляться надпись при входе на сайт

MySQL Error!
------------------------

The Error returned was:
Data too long for column 'useragent' at row 1

Error Number:
1406


INSERT INTO dle_online (uid, session, lastdate, location, useragent, ip, proxy ) VALUES(0, '********************************', 1282220324, '%mainpage%', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4', '178.94.47.229', '0.0.0.0')

_

Сайт на DLE, работало все нормально пока у кейвеба не произошел сбой. Помогите решить, спасибо!

Неактивен

 

#2 19.08.2010 16:38:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL Error! Data too long for column 'useragent' at row 1

FAQ#10

ALTER TABLE dle_online MODIFY useragent VARCHAR(512) NOT NULL;

Неактивен

 

#3 19.08.2010 16:51:29

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: MySQL Error! Data too long for column 'useragent' at row 1

Спасибо большое! Очень хороший у вас форум! Вы лучшие

Неактивен

 

#4 20.08.2010 12:23:16

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: MySQL Error! Data too long for column 'useragent' at row 1

Здравствуйте еще раз. После этой ошибки вылезла еще одна

MySQL Error!
------------------------

The Error returned was:
Incorrect integer value: '' for column 'id' at row 1

Error Number:
1366

INSERT INTO dle_referer VALUES('', 'http://pr-cy.ru/analysis/x-reliz.net', '1282291432', 'pr-cy.ru', '1', '', '/all_klip/oral/', '%cat%', '178.94.59.95', 'referer')


Я обратил внимание на то что у меня кодировка MySQL стоит default-character-set=latin1 ,а кодировка базы стоит cp1251_general_ci тогда я решил заменить кодировку на cp1251 в my.ini
перегрузил MySQL ну результатов как я понял не дало! Че то нужно еще поправить видимо. S.O.S - срочно прошу помощи!
Cтранно почему раньше все работало без проблем!?

Спасибо, с Ув. acelero

Неактивен

 

#5 20.08.2010 13:38:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL Error! Data too long for column 'useragent' at row 1

С этим хуже — нужно найти место в коде, где генерируется этот запрос, и пос-
мотреть, почему в качестве id выбирается '' (по правилам языка, если значение
должно создаваться автоматически, там должно стоять NULL).

Возможно, стоит посмотреть, что у Вас написано в настройках базы. Конкретно
нужно смотреть на sql mode. Обычно MySQL создает предупреждение на такие
запросы (а не ошибку). Но если в SQL_MODE стоит, например, 'TRADITIONAL',
то он будет создавать ошибку.

Неактивен

 

#6 20.08.2010 14:30:20

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: MySQL Error! Data too long for column 'useragent' at row 1

Cпасибо за то, что помогаете мне!
вот скриншот с phpMyAdmin настроек а именно sql mode
http://screenlist.ru/details.php?image_id=44390

Неактивен

 

#7 20.08.2010 15:05:15

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL Error! Data too long for column 'useragent' at row 1

Уху, можете поставить пустой sql_mode должно помочь.

Неактивен

 

#8 20.08.2010 17:02:33

acelero
Участник
Зарегистрирован: 17.08.2010
Сообщений: 10

Re: MySQL Error! Data too long for column 'useragent' at row 1

paulus написал:

Уху, можете поставить пустой sql_mode должно помочь.

Cпасибо, а вы не подскажите как изменить значение на пустое? я не знаю как это можно сделать sad
Вот такой запрос подойдет?
SET sql_mode = '';

Изменил утилитой MySQL Administrator. Сейчас вроди работает все! Еще раз большое человеческое спасибо

Отредактированно acelero (20.08.2010 17:24:24)

Неактивен

 

#9 20.08.2010 17:08:00

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: MySQL Error! Data too long for column 'useragent' at row 1

В настройках сервера. Ну или найти в коде CMS место, где она подключается (mysql_connect)
и добавить после этого отключение внутри потока (mysql_query("SET SQL_MODE=''"); ).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson