Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 208
от 21.01.2007, 23:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 399, Экспертов: 50
В номере:Вопросов: 1, Ответов: 3


Вопрос № 71132: Здравствуйте! Подскажите пожалуйста, что в настройках сервера mysql мне нужно исправить? поле создано: `description` VARCHAR(255) NOT NULL, когда вставляю, возвращает ошибку: Data too long for column 'description' a...

Вопрос № 71.132
Здравствуйте!

Подскажите пожалуйста, что в настройках сервера mysql мне нужно исправить?

поле создано:
`description` VARCHAR(255) NOT NULL,

когда вставляю, возвращает ошибку:
Data too long for column 'description' at row 1
Отправлен: 16.01.2007, 03:50
Вопрос задал: Талипов А Н (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Heartwork
Здравствуйте, Талипов А Н!
Извиняюсь за банальность, но попробуйте проверить всё-таки то обстоятельство, которое указано в исключении. Вдруг у вас на самом деле текст, который вы пытаетесь вставить в поле 'description', занимает больше 255 символов для одной строки?
---------
Вода - Это Огромная Дорога Среди Красоты
Ответ отправил: Heartwork (статус: 2-ой класс)
Ответ отправлен: 16.01.2007, 09:13

Отвечает: Архангельский Андрей Германович
Здравствуйте, Талипов А Н!

Он пишет "Слишком длинные данные для поля"
Как только появляется not null, то подразумевается индекс. Нужно посмотреть какой допустимый размер индекса для MySQL, в Firebird 1.5 это 176 символов.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 16.01.2007, 09:45

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Талипов А Н!

Я думаю, проблема во вводе только кириллических символов, т.е. когда Вы вводите английский текст - все нормально. Если это не так - укажите в минифоруме.

Осмелюсь предположить такой вариант решения (т.к. не знаю, каким методом Вы соединяетесь с сервером):

Для этого поля посмотрите, чтобы "сравнение" было cp1251_general_ci.

При подключении к MySQL (опять же осмелюсь предположить, что Вы соединяетесь с MySQL из PHP) выполняете такие команды:

$link = @mysql_connect($DB_host, $DB_login, $DB_password)
or die ("Нет соединения с базой данных!");
mysql_query("SET character_set_client = cp1251",$link);
mysql_query("SET character_set_connection = cp1251",$link);
mysql_query("SET character_set_results = cp1251",$link);
mysql_select_db($DB_name, $link)
or die ("Невозможно выбрать базу данных");

Хотя если Вы соединяетесь с БД не из PHP, то все-равно можно выполнить те же запросы.

Удачи!
---------
Ждешь квалифицированного ответа? Задай правильно вопрос!
Ответ отправил: Устинов Сергей Евгеньевич (статус: Практикант)
Ответ отправлен: 16.01.2007, 13:56
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.41 beta от 19.01.2007
Яндекс Rambler's Top100

В избранное