Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 15.10.2015, 21:19   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Адрес: Москва
Сообщений: 250
Репутация: -1

icq: 445997544
Печаль Экспорт всего из базы в базу

Ситуация вот в чём.
У меня есть две базы, одна старая, другая новая, назовём их просто: Old и New. Кол-во и название таблиц, в обоих базах одинаково
Далее ...
Мне необходимо, очистить все таблицы в базе Old, и записать в них всё что имеется в таблицах базы New.
т.е. если поле автоинкрементно в базе New, то после всех манипуляций оно так же должно быть автоинкрементно и базе Old (куда, я её и буду копировать). В общем, абсолютно все параметры должны быть перенесены из одной базы в другую.
Вопрос, как мне этого добиться ? Очень надеюсь на вашу помощь.. спасибо
Janger вне форума   Ответить с цитированием
Старый 15.10.2015, 21:35   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Цитата:
как мне этого добиться ?
Бэкап выгрузи из New, и загрузи в Old. ИМХО самое быстрое решение.
Цитата:
очистить все таблицы в базе Old, и записать в них всё что имеется в таблицах базы New.
А можно полюбопытствовать - зачем такой геморр?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 15.10.2015, 21:49   #3
Janger
Форумчанин
 
Регистрация: 28.09.2011
Адрес: Москва
Сообщений: 250
Репутация: -1

icq: 445997544
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А можно полюбопытствовать - зачем такой геморр?
Можно.
Имеется 2-а ПК, на первом ПК стоит сам сервер, а другой ПК к нему коннектится. ПК с сервером, находится у сис.-админа.
Понятное дело, каждый раз просить системника, что бы он заменил файл с моей БД со старой на новую, как то перебор, да и у него дел своих полно.
================
Он мне расшарил папку, где находится файл БД (это я его попросил, т.к. не хотел морочиться с запросами, и думал одной строкой отсоединю старую БД, а вторым запросом присоединю новый файл БД, и всё тут. Но как оказалось, я БД старую смог отсоединить, но присоединить новую не смог, т.к. у меня на это не было прав ... хз )
=================
В общем, я и подумал, что самый простой способ, это взять старую БД опустошить её (оставив только каркас), да и залить в неё параметры и данные из новой БД

Цитата:
Сообщение от Stilet Посмотреть сообщение
Бэкап выгрузи из New, и загрузи в Old. ИМХО самое быстрое решение.
Честно сказать, я не особо понимаю как это "загрузить бэкап" в БД ...
p.s. если что, то на 2ПК, вообще нету SQL Server-a, там стоит только какой то HeidySQL который коннектится к ПК сисадмина, и я там могу выполнять запросы.

Последний раз редактировалось Stilet; 16.10.2015 в 07:51.
Janger вне форума   Ответить с цитированием
Старый 15.10.2015, 22:30   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,097
Репутация: 6385
По умолчанию

RESTORE и BACKUP если что тоже SQL-команды. Только полномочия соответствующие требуются
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 15.10.2015, 22:41   #5
Janger
Форумчанин
 
Регистрация: 28.09.2011
Адрес: Москва
Сообщений: 250
Репутация: -1

icq: 445997544
По умолчанию

А может быть, мне кто нибудь напишет запрос по моей просьбе?
Я просто не уверен, что у меня есть какие то особые права.
p.s.
я наткнулся в инете вот на такой код:
Код:

SELECT * INTO newtable FROM oldtable

и подумал, может поступить следующим образом?
1) Очищаем все таблицы из старой БД - OLD
Код:

 - DELETE FROM TableName1
 - DELETE FROM TableName2
 - DELETE FROM TableName3
 - DELETE FROM TableName4

2) Заливаем данные из новой БД в старую - NEW-->OLD
Код:

 - SELECT * INTO OLD.tablename1 FROM NEW.tablename1
 - SELECT * INTO OLD.tablename2 FROM NEW.tablename2
 - SELECT * INTO OLD.tablename3 FROM NEW.tablename3
 - SELECT * INTO OLD.tablename4 FROM NEW.tablename4

================
ну вот, как то так... Не знаю, получился ли что то из этого или нет....
Может кто нибудь в курсе, может кто то подскажет, следует так делать или нет? и почему?
================
Я вот подумал, похоже единственное что может пойти не так, так это очистка и заполнение автоинкрементных полей... я думаю, что ключи могут сбиться... хотя, я не уверен на 100% ...

Последний раз редактировалось Janger; 15.10.2015 в 23:13.
Janger вне форума   Ответить с цитированием
Старый 16.10.2015, 00:52   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,097
Репутация: 6385
По умолчанию

Цитата:
я думаю, что ключи могут сбиться
Обязательно, если в источнике хоть одна запись удалена или скрипт на запись не в том порядке инфу подсунет. И вообще так ни кто не делает. Restore и Backup
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 16.10.2015, 07:53   #7
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Цитата:
Понятное дело, каждый раз просить системника, что бы он заменил файл с моей БД со старой на новую
Ты вопрос не понял )
Зачем делать замену данных?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 16.10.2015, 09:49   #8
Janger
Форумчанин
 
Регистрация: 28.09.2011
Адрес: Москва
Сообщений: 250
Репутация: -1

icq: 445997544
По умолчанию

Ну как зачем? Программа ведь не работает со старой бд... Будут постоянно ошибки выводиться, мол, такого моля нету
Janger вне форума   Ответить с цитированием
Старый 16.10.2015, 10:12   #9
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,762
Репутация: 2114
По умолчанию

Цитата:
Программа ведь не работает со старой бд...
Цитата:
абсолютно все параметры должны быть перенесены из одной базы в другую.
Значит ХОТЯ БЫ ОДИН параметр да ДОЛЖЕН различаться.
К примеру новое (или переименованное) поле в одной из таблиц.
Цитата:
Будут постоянно ошибки выводиться, мол, такого моля нету
что и требовалось доказать.


Привести структуру СТАРОЙ бд к новой с помощью SQL и не мучиться ни с переподключением ни с переносом данных.
примерно так
Код:

ALTER TABLE xxx 
ADD COLUMN newfield .....

перед изменением структуры всегда желателен backup.
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.10.2015 в 10:19.
evg_m вне форума   Ответить с цитированием
Старый 16.10.2015, 11:10   #10
Janger
Форумчанин
 
Регистрация: 28.09.2011
Адрес: Москва
Сообщений: 250
Репутация: -1

icq: 445997544
По умолчанию

В общем сижу...
Backup БД я делаю
Но вот когда пытаюсь сделать Restore, то мне выдаётся, что мол, прав у меня недостаточно для такого запроса
Janger вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт из excel в базу MySQL средствами VBA riko_ltd Microsoft Office Excel 5 18.06.2013 01:50
Экспорт базы данных с сайта на мой реальный комп Kasper1 PHP 7 27.02.2011 14:37
импорт, экспорт базы TaTT DoGG SQL, базы данных 2 12.05.2010 12:15


15:41.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru