Forum Webscript.Ru

Общие => Базы данных => Тема начата: Greg от 07 Февраля 2006, 10:35:58

Название: дамп
Отправлено: Greg от 07 Февраля 2006, 10:35:58
история следующая: имеются две базы db1 - используется сайтом и db2 - используется чемтотамдругим

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

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

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

Хотелось бы выполнять скриптом по заданию. База файрбёрд 1,5
Название: дамп
Отправлено: CGVictor от 07 Февраля 2006, 11:04:02
Greg
Я у себя сейчас делаю через временную таблицу, как оговорили вот здесь (http://forums.webscript.ru/showthread.php?s=&threadid=21449)
Там, правда, из файла бралось, но механизим тот же.
Название: дамп
Отправлено: Greg от 07 Февраля 2006, 11:22:24
вот вариант с ALTER понравился. жду ещё советов
Название: дамп
Отправлено: Greg от 07 Февраля 2006, 11:35:41
а есть какойнибудь тако вариант в SQL - скопировать таблицу под другим именем???? сразу всю без выборок записей
Название: дамп
Отправлено: CGVictor от 07 Февраля 2006, 13:05:42
Greg
INSERT INTO `table_tmp` SELECT * FROM `table` ;
Название: дамп
Отправлено: Greg от 07 Февраля 2006, 13:10:23
CGVictor
это в пределах одной базы, а если таблицу копировать из одной базы в другую?

понимаю так:
INSERT INTO `db1.table_tmp` SELECT * FROM `db2.table`
Название: дамп
Отправлено: CGVictor от 07 Февраля 2006, 13:14:51
Greg
Да, вполне.
Название: дамп
Отправлено: Greg от 07 Февраля 2006, 13:26:38
CGVictor
ну тогда же проблема сразу решается:

запускаем скрипт, который сначала удаляет все записи из таблицы сайта, а потом выполняет этот запрос и всё... причем в разных базах можно также использовать ту же таблицу, а не промежуточную _tmp
Название: дамп
Отправлено: Greg от 07 Февраля 2006, 14:13:27
кстати, фигушки!
подсказали мне тут, что interbase (aka firebird) не дает имена баз данных
Название: дамп
Отправлено: CGVictor от 07 Февраля 2006, 18:00:26
Greg
Тогда не знаю. Я с IB только понаглядке.