Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Skopiowanie danych do innej tabeli
starter91php
post
Post #1





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 6.05.2009

Ostrzeżenie: (0%)
-----


Witam, mam jedna "stara" tabele (ok 5000 rekordów), która ma pole 'opis'. Ten opis powiela się często w tej tabeli, np rekordy 1-3 mają ten sam opis, 4-15 inny, 15-34 inny itd.
Utworzyłem sobie nową tabelę descriptions (id int not null auto_increment, opis text). Chciałbym sobie skopiować opisy ze starej tabeli bez powielania ich do nowej tabeli.
Czyli opis reprezentujący rekordy 1-3 w starej tabeli będzie miał swój jeden odpowiadający rekord w nowej tabeli, ten. który reprezentuje 4-15 rekordy także będzie miał swój rekord w nowej tabeli itd. aż do wyczerpania unikalnych opisów ze starej tabeli.

Jak to zrobić automatycznie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Tabele powinny mieć to samo kodowanie jeszcze przed skopiowaniem danych, w przeciwnym wypadku trzeba by skorzystać z MySQL-owej funkcji CONVERT lub CAST:
  1. INSERT INTO `nowa_tabela` (`opis`) SELECT CAST(`opis` AS varchar CHARACTER SET utf8) COLLATE utf8_general_ci FROM `stare_dane` GROUP BY `opis`


Cytat(starter91php @ 29.03.2012, 14:54:51 ) *
Chcę wyczytać ID opisu z nowej tabeli (wcześniej skopiowałem do niej wszystkie opisy ze starej), przyrównując opis ze starej tabeli. Przy porównaniu w klauzuli WHERE pojawią się powyższy błąd.

Ale przecież to jest bez sensu, bo w starej tabeli masz wiele id odpowiadających jednemu opisowi. No chyba, że Cię nie rozumiem, a jeśli tak, to wyjaśnij dokładniej.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 05:56