Вопрос № 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
Отвечает: Heartwork
Здравствуйте, Талипов А Н!
Извиняюсь за банальность, но попробуйте проверить всё-таки то обстоятельство, которое указано в исключении. Вдруг у вас на самом деле текст, который вы пытаетесь вставить в поле 'description', занимает больше 255 символов для одной строки?
--------- Вода - Это Огромная Дорога Среди Красоты
Ответ отправил: Heartwork (статус: 2-ой класс)
Ответ отправлен: 16.01.2007, 09:13
Отвечает: Архангельский Андрей Германович
Здравствуйте, Талипов А Н!
Он пишет "Слишком длинные данные для поля"
Как только появляется not null, то подразумевается индекс. Нужно посмотреть какой допустимый размер индекса для MySQL, в Firebird 1.5 это 176 символов.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Талипов А Н!
Я думаю, проблема во вводе только кириллических символов, т.е. когда Вы вводите английский текст - все нормально. Если это не так - укажите в минифоруме.
Осмелюсь предположить такой вариант решения (т.к. не знаю, каким методом Вы соединяетесь с сервером):
Для этого поля посмотрите, чтобы "сравнение" было 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, то все-равно можно выполнить те же запросы.