Автор Тема: дамп  (Прочитано 3592 раз)

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

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« : 07 Февраля 2006, 10:35:58 »
история следующая: имеются две базы db1 - используется сайтом и db2 - используется чемтотамдругим

некоторые таблицы в них одинаковые, но во второй базе идет постоянное обновление.

как лучше сделать так чтобы периодически данные из второй таблицы переносились в первую (т.е. инфа могла одновляться - добавляться или изменяться)

у кого какие соображения? рассмотрю любые варианты! Сам придумал лишь так: удалить все записи из первой, засунуть все записи в первую из второй, но чего-то не совсем нравится.

Хотелось бы выполнять скриптом по заданию. База файрбёрд 1,5
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
дамп
« Ответ #1 : 07 Февраля 2006, 11:04:02 »
Greg
Я у себя сейчас делаю через временную таблицу, как оговорили вот здесь
Там, правда, из файла бралось, но механизим тот же.
LJ: Backslashed life (rss)

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« Ответ #2 : 07 Февраля 2006, 11:22:24 »
вот вариант с ALTER понравился. жду ещё советов
Пространные размышления об ИТ и все что вокруг

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« Ответ #3 : 07 Февраля 2006, 11:35:41 »
а есть какойнибудь тако вариант в SQL - скопировать таблицу под другим именем???? сразу всю без выборок записей
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
дамп
« Ответ #4 : 07 Февраля 2006, 13:05:42 »
Greg
INSERT INTO `table_tmp` SELECT * FROM `table` ;
LJ: Backslashed life (rss)

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« Ответ #5 : 07 Февраля 2006, 13:10:23 »
CGVictor
это в пределах одной базы, а если таблицу копировать из одной базы в другую?

понимаю так:
INSERT INTO `db1.table_tmp` SELECT * FROM `db2.table`
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
дамп
« Ответ #6 : 07 Февраля 2006, 13:14:51 »
Greg
Да, вполне.
LJ: Backslashed life (rss)

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« Ответ #7 : 07 Февраля 2006, 13:26:38 »
CGVictor
ну тогда же проблема сразу решается:

запускаем скрипт, который сначала удаляет все записи из таблицы сайта, а потом выполняет этот запрос и всё... причем в разных базах можно также использовать ту же таблицу, а не промежуточную _tmp
Пространные размышления об ИТ и все что вокруг

Оффлайн Greg

  • пинёг
  • Ветеран
  • *****
  • Сообщений: 618
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.bsfera.ru
дамп
« Ответ #8 : 07 Февраля 2006, 14:13:27 »
кстати, фигушки!
подсказали мне тут, что interbase (aka firebird) не дает имена баз данных
Пространные размышления об ИТ и все что вокруг

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
дамп
« Ответ #9 : 07 Февраля 2006, 18:00:26 »
Greg
Тогда не знаю. Я с IB только понаглядке.
LJ: Backslashed life (rss)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28