Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт базы в MySQL, как лучше привести к единому формату 
:(
    Опции темы
OneFourth
Дата 14.2.2007, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Имеется dump базы Мускула вида:

INSERT INTO tablename VALUES (...много ненужных полей...НесколькоНужных.... опять много не нужных...)

Полей много. В дампе ПоляТаблицы имеют другие названия не соответсвующие названиям в той таблице куда необходимо влить.

Как лучше влить в таблицу в базе только нужные поля из дампа? 
Ибо руками кромсать дамп не реально. 
PM   Вверх
OneFourth
Дата 14.2.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Или можно по другому. В базу импортируется дамп в конкретную таблицу. Теперь имеем поля в одной таблице такие:
...url, rubrica, name....
В другой такие:
....link, razdel, title....
Как при помощи SQL сделать что бы link=url, razdel=rubrica, title=name.
Т.е. перегнать данные из одной таблицы в другую.

Запрос вида:

Код

INSERT INTO tablename1 (link, razdel, title) SELECT url, rubrica, name FROM tablename2;


Работать не хочет. Пишет ошибку 1264.


PM   Вверх
Бонифаций
Дата 14.2.2007, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



1264 - ERR_WARN_DATA_TRUNCATED - у тебя результирующие поля меньше исходных по размеру


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
OneFourth
Дата 14.2.2007, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Т.е. результирующие, к примеру, char(100), а исходные char(255), так? 

Но в целом команда вида

Код

INSERT INTO tablename1 (link, razdel, title) SELECT url, rubrica, name FROM tablename2;

 Должна работать или она в корне не правильна?
PM   Вверх
Бонифаций
Дата 14.2.2007, 04:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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





--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
OneFourth
Дата 14.2.2007, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ок, спасибо.
Разобрался. Глюк был в том что тип LONGTEXT нужно было конвертнуть в TEXT, а CHAR(255) в integer. Долго провозился с тем как перевести из CHAR'a  в integer, оказалось нужно просто добавить какую-то цифру и само все конвертится... smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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