Форум русскоязычного сообщества Ubuntu


Автор Тема: Совмещение двух таблиц MySQL с разными полями.  (Прочитано 1609 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Интересует следующие, можно ли всю информацию в полях с БД-1 (одна таблица с примерно 20-ю полями) перенести в БД на другом сервере, который имеет различные названия полей в своей таблице?
Возможно есть подручные средства Мускуля?


andrey_p

  • Гость
Скидываешь таблицу с помощью mysqldump в table.sql (смотри документацию), добавляешь ее в другую базу (mysql ... <table.sql), а потом внутри базы данных стандартно - insert ... select ... from...

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Вот структура таблицы film , в полях которой информация что должна быть в соответствующих полях таблицы video:




а вот структура таблицы video:



Я просто не знаю как добавить из таблицы фильм в таблицу video.
В первой 7 тысяч елементов.
Если сравнивать названия таблицы films и video, будет так:

id = id
title = name
title_en = o_name
descr = description
zhanr = genre_id_1
year = year
director = director
actors = actors
duration  = time
dateadd = added
imagesm = pic   
link = rtsp_url






Пользователь решил продолжить мысль 05 Апреля 2012, 14:15:16:
Есть еще некоторые нюансы, например в films жанр указано названием, а в таблице video  - цифрой, а жанр привязан уже к цифре, но это будет не проблема сделать замену через пшп-май-админ.
Так же ссылка на фильм : в films указывается только директория где обитает фильм фтп/диск/папка_фильма, а в video - полный путь к файлу, так как тот файл будет лежать на первом сервере. http://server1/фтп/диск/папка_фильа/фильм.ави
« Последнее редактирование: 05 Апреля 2012, 14:16:36 от TrEK »

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
скрипты нельзя использовать? или в чем проблема?

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
какие такие скрипты?

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
php непример

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Поможете?

Оффлайн ii343hbka

  • Старожил
  • *
  • Сообщений: 1048
    • Просмотр профиля
могу ошибаться, но
INSERT INTO video(id,name,o_name, description,genre_id_1, year,director,actors,time,added,pic,rtsp_url) SELECT id,title,title_en,descr,zhanr,year,director,actors,duration,dateadd,imagesm,link FROM film
только про типы данных не забывайте
ж)
ммм... Убунточка

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
В phpmyadmin есть import и export БД.
При импорте получаются правильные sql. Их и нужно редактировать скриптово. Для простоты можно подрезать БД до нескольких записей и отработать скрипты. Все очень реально.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
могу ошибаться, но
INSERT INTO video(id,name,o_name, description,genre_id_1, year,director,actors,time,added,pic,rtsp_url) SELECT id,title,title_en,descr,zhanr,year,director,actors,duration,dateadd,imagesm,link FROM film
только про типы данных не забывайте
Спасибо за подсказку, но вот ситуация, когда в примеру первая БД будет наполняться новыми записями, и те новые надо тоже перенести на другой сервер в его БД.
Можно как-то по крону задать все это дело? Или чтоб добавляло только те записи , которых нету на БД-2, либо чтоб уже делало полный дамп и заменяло старый в БД на втором сервере?


Пользователь решил продолжить мысль 06 Апреля 2012, 10:33:23:
В phpmyadmin есть import и export БД.
При импорте получаются правильные sql. Их и нужно редактировать скриптово. Для простоты можно подрезать БД до нескольких записей и отработать скрипты. Все очень реально.
Щас попробуем.

Оффлайн ii343hbka

  • Старожил
  • *
  • Сообщений: 1048
    • Просмотр профиля
Re: Совмещение двух таблиц MySQL с разными полями.
« Ответ #10 : 07 Апреля 2012, 19:57:40 »
я, если не ошибаюсь, в phpmyadmin можно задать репликацию баз.
может быть можно даже конкретные столбцы

INSERT INTO video(id,name,o_name, description,genre_id_1, year,director,actors,time,added,pic,rtsp_url) SELECT id,title,title_en,descr,zhanr,year,director,actors,duration,dateadd,imagesm,link FROM film WHERE( film.id NOT IN(SELECT id FROM video) )
может некорректно с точки зрения оптимизации запроса, но он пишет в video записи из film, которых нету video
ж)
ммм... Убунточка

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Совмещение двух таблиц MySQL с разными полями.
« Ответ #11 : 08 Апреля 2012, 02:35:03 »
я, если не ошибаюсь, в phpmyadmin можно задать репликацию баз.
может быть можно даже конкретные столбцы

INSERT INTO video(id,name,o_name, description,genre_id_1, year,director,actors,time,added,pic,rtsp_url) SELECT id,title,title_en,descr,zhanr,year,director,actors,duration,dateadd,imagesm,link FROM film WHERE( film.id NOT IN(SELECT id FROM video) )
может некорректно с точки зрения оптимизации запроса, но он пишет в video записи из film, которых нету video

Ухх... спасибо, учтем.

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.