Autor Zpráva
trta
Profil
Ahoj, řeším jak ze zdroje dat, kde je několik stále se opakujících hodnot, vložit do db tyto hodnoty pouze jednou. Čili, pokud mám nějaký zdroj dat, kde mám 50x "hodnota1" 50x "hodnota2" a 50x "hodnota3" tak aby se mi do databáze nevložilo výsledných 150 řádků, ale pouze 3 - a to hodnota1, hodnota2 a hodnota3.
Víte prosím někdo jak na to? Díky
Alphard
Profil
Vložte je do samostatné tabulky. Dle popisu to vypadá na vzat 1:M, ale nelze vyloučit ani M:N.
http://www.linuxsoft.cz/article.php?id_article=854
trta
Profil
Díky za nakopnutí, podumám o tom a kdyby se objevil ještě nějaký problém, dám vědět.
trta
Profil
Takže jsem se s tím popral, bohužel ne tak, jak jste psal, ale trošku po svém. Je to z pohledu profesionála asi dost humpolácké, ale můj účel to splní.
Sloupec, kam se mají vkládat ty "hodnota1" atd jsem natavil na unikátní a INSERT jsem ještě doplnil o
ON DUPLICATE KEY update sloupec = $hodnoty
přičemž $hodnoty je proměnná právě s těmi opakujícími se hodnota1, hodnota2, atd


V úvodu jsem zapoměl ještě dodat, že každému insertu předchází TRUNCATE - vždy se načtou čerstvá data a to od nuly.
Každopádně ještě jednou moc děkuji.
Kajman_
Profil *
Tak to by asi stačilo při tom unikátním klíči i použít
insert ignore into

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0