Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Data too long for column 
:(
    Опции темы
patience
  Дата 14.6.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



Добры день
в БД имеется таблица
Код

CREATE TABLE IF NOT EXISTS `entity_description`
(
  `d_id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `e_id` INT UNSIGNED NOT NULL,
  `name` VARCHAR(30) NOT NULL,
  `pozition` INT UNSIGNED NOT NULL DEFAULT 0,
  `visible` BOOLEAN DEFAULT TRUE
) ENGINE = InnoDB CHARACTER SET cp1251;

Кодировка и сравнени е БД
DEFAULT CHARACTER SET cp1251 DEFAULT COLLATE cp1251_general_ci;

При добавлении данных на Английском языке все работает нормально, но как только пытаяь вставить что-то вроде -
Код

 INSERT INTO `entity_description` VALUES ( null, 1, 'Новости', 0, 1 );

получаю ответ  Data too long for column 'name' at row 1

хотя поле  `name` VARCHAR(30) NOT NULL

в чём проблема? заранее благодарен.
PM MAIL   Вверх
Kesh
Дата 14.6.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



У меня нормально вставилась... Проблема в чем-то другом...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
patience
Дата 14.6.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



в  Command Line Client проверил  -  всё нормально...
используется связка php+MySql вот тут проблем...этот же запрос не работает..
а
Код

INSERT INTO `entity_description` VALUES ( null, 1, 'News', 0, 1 );


работает...

спасибо Kesh,  буду искать в чём тут дело..
PM MAIL   Вверх
Kesh
Дата 14.6.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Да не за что, я особо-то ничем и не помог...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Сумасшедший
Дата 14.6.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

Репутация: 4
Всего: 107



patience, у меня такая проблема решилась добавлением SET NAMES cp1251;
Код

DROP DATABASE test;
CREATE DATABASE test;
USE test;

SET NAMES cp1251;

CREATE TABLE IF NOT EXISTS `entity_description`
(
  `d_id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `e_id` INT UNSIGNED NOT NULL,
  `name` VARCHAR(30) NOT NULL,
  `pozition` INT UNSIGNED NOT NULL DEFAULT 0,
  `visible` BOOLEAN DEFAULT TRUE
) ENGINE = InnoDB CHARACTER SET cp1251;


 INSERT INTO `entity_description` VALUES ( null, 1, 'Новости', 0, 1 );

SHOW warnings;



--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
patience
Дата 14.6.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



Сумасшедший   smile ,  спасиб пошло, ток

Код

DROP DATABASE test;
CREATE DATABASE test;
USE test;

SET NAMES cp1251;

CREATE TABLE IF NOT EXISTS `entity_description`
(
  `d_id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `e_id` INT UNSIGNED NOT NULL,
  `name` VARCHAR(30) NOT NULL,
  `pozition` INT UNSIGNED NOT NULL DEFAULT 0,
  `visible` BOOLEAN DEFAULT TRUE
) ENGINE = InnoDB;

 INSERT INTO `entity_description` VALUES ( null, 1, 'Новости', 0, 1 );



убрал CHARACTER SET cp1251 в описании таблицы.
PM MAIL   Вверх
Сумасшедший
Дата 14.6.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 15.8.2004
Где: Москва

Репутация: 4
Всего: 107



patience, Зря.
Сделай теперь дамп и посмотри какая кодировка проставляется для этой таблицы (соответственно в этой кодировке данные и хранятся). У меня mysql работает с настройками  кодировок по-дефолту, и в дампе получается такая вещь:
Цитата

...
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
...
INSERT INTO `entity_description` VALUES (1,1,'???????????‚??',0,1);

Т.е. такие БД можно будет переносить только файлами, и резеврный дамп уже не поможет.
К тому же:
Цитата

Incorrect string value: '\xD0\x9D\xD0\xBE\xD0\xB2...' for column 'name' at row 1



--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.