Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Porónanie 2 baz danych i skopiowanie brakujących rekordów z pierwszej do drugiej
Forum PHP.pl > Forum > Przedszkole
Greg23
Przez przypadek skasowałem cześć rekordów z bazy danych.
Mam kopie tej bazy i chciałbym przywrócić rekordy o id których brakuje w głównej bazie, ale są w kopii.

Jak to najefektywniej można zrobić ?
Może istnieje jakaś funkcja/polecenie odzyskujące brakujące rekordy w bazie na podstawie jej kopii ?
(nie mogę zastąpić oryginalnej bazy kopią, gdyż kopia jest dosyć stara, więc chcę tylko dodać rekordy, których brakuje)
alegorn
nie ma takiej funkcji, a przynajmniej nic o tym nie wiem.

jesli to jest mozliwe to ja bym zrobil:


1 odtworzyl baze obok
2 porownal zawartosc lub:
  1. INSERT IGNORE INTO produkcja FROM backoup



Greg23
A w jaki sposób mogę porównać zawartość ?
Jak działa ten 2 sposób, bo w aktualnej wersji mam jakieś dodatkowe kolumny więc co wtedy ?
bpskiba
Cytat(Greg23 @ 11.08.2012, 11:31:25 ) *
A w jaki sposób mogę porównać zawartość ?
Jak działa ten 2 sposób, bo w aktualnej wersji mam jakieś dodatkowe kolumny więc co wtedy ?


Majprościej skorzystaj z jakiegoś narzędzia do synchronizacji baz np SQLyog.
Istnieją narzędzia synchronizujące strukturę i dane szybko i przyjemnie. W goglach znajdziesz do wyboru darmowe, płatne, w formie skryptu lub aplikacji na dowolny system
Greg23
Problem jest z tymi narzędziami, wszystko dość drogie, a ja chcę tylko raz to wykorzystać.

A ten sposób INSERT IGNORE.... będzie działał w ten sposób, że doda mi tylko te rekordy, których id jest 'wolne' w drugiej bazie ?
Jeśli tak to byłoby ok, tylko nie wiem co z tymi dodatkowymi kolumnami w bazie nr 2, których brakuje w backupie ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.