Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie dwóch baz.
Forum PHP.pl > Forum > Bazy danych > MySQL
kulczycki
Witam wszystkim,
Potrzebuje połączyć dwie bazy o takich samych tabelach (key itp. są też takie same).
Mam bazę main i bazę którą przejęliśmy. Musimy połączyć obie bazy żeby cała aplikacja hulała jak należy winksmiley.jpg.
Problem oczywiście to id. Lekki opis:
Kod
table account: (100 rekordów)
id int(11) auto-increment
name
etc...

table items (10tys rekordów)
item_id int(11) auto-increment
col1, col2
account_id int(11)

dane dla przykładu, obie bazy wyglądają tak samo.

Teraz, wszystko fajnie - można by ustalić max id z account table w bazie main i przy wrzucanie drugiej bazy po prostu rozpocząć że id+max_id z main. Z tabelą items to samo, ale już wystąpi problem z account_id w tabeli items.

Wiem że trochę niezrozumiale to napisałem, ale głowie się już 2 dzień nad tym i głowa mnie już od tego boli.
Wiem że można iść na około i ręcznie to wszystko robić. Ale myślę że na pewno już kiedyś taki problem już był, i może jest jakieś automatyczne rozwiązania.
Bo nie widzimy mi się ręczne łączenie baz które mają po 4gb. Czyli łączenie 8GB. Gdzie tabela items w bazie main liczona jest w milionach.

Prosiłbym o wskazówki, dziękuje z góry za pomoc.
Pozdrawiam.
IceManSpy
Może coś z merge?
http://dev.mysql.com/doc/refman/5.1/en/mer...age-engine.html
Jeśli mówisz, że bazy są "identyczne" to to może być idealne rozwiązanie. Podobny przykład miałem na bazach danych na zajęciach (tam akurat Oracle było) i sam robiłem przykład ze stanem magazynowym.
kulczycki
Niestety to polegną mi obie bazy. Bo jak account, items zmerguje - to i tak nie będzie za dobrej komunikacji miedzy tabelami. Bo np.

Kod
account (baza main)
1, xxx
items (baza main)
1, xx, 1(account id)
2, xx, 1(account id)

account (baza druga)
1, yyy
items (baza druga)
1, yy, 1(account id)
2, yy, 1(account id)


tak wyglądają osobno tabele z dwóch baz. Po połączeniu wynik musi być

Kod
account
1, xxx
2, yyy

items
1,xx,1
2,xx,1
3,yy,2
4,yy,2

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.