Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamiana hurtowa treści w komorce i przeniesienie do nowej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
maci4
witam serdecznie, mam do zmiany 400 tysiecy numerów id w bazie. gdy wykonuje zapytanie:
  1. UPDATE tabela
  2. SET id = ID + 131471


to wyskakuje mi: powtorzone wystapienie: 131472 wiec moje pytanie: jakie polecenie dodac do kodu zeby po zmianie id przenosilo dany wiersz do innej bazy?? jest coś takiego mozliwe??
kitol
jeżeli ID jest autoincrement to raczej nie powinieneś przypisywać temu polu konkretnych wartości. Przeniesienie rekordów do innej bazy możesz wykonać zapytaniem:
  1. INSERT INTO baza.tabela ( pole1, pole2, pole3 ....) SELECT pole1, pole2, pole3 .... FROM stara_zbaza.tabela_zrodlowa

Jezeli struktura nowej tabeli jest taka sama jak starej to ID zostaną automatycznie ponumerowane. Nie oznacza to jednak że te same rekordy w obu tabelach będą miały takie same ID
maci4
Ale ja juz mam baze dsanych gdzie jest id od 1 do 130 000 i druga baze gdzie tez id jest od 1 do 417 000.
kitol
W taki razie, jeżeli chcesz połączyć tabele to moje zapytanie będzie OK. Szczegóły zależą od budowy tabel kluczy i indeksów.
Przy przenoszeniu danych do pola autoincrement wpisuj null, a numeracja będzie kontynuowana kolejnymi warościami.
Przedstaw strukturę to będzie wiadomo jak dokładnie to zrobić.
maci4
zrobilem w inny sposob, najpierw wgralem duza baze a pozniej zmienilem id w malej bazie i nie wyskoczyl duplikat ;]
Pozdrawiam
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.