Autor | Zpráva | ||
---|---|---|---|
trta Profil |
#1 · Zasláno: 27. 10. 2010, 00:16:05
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 |
#2 · Zasláno: 27. 10. 2010, 00:25:07
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 |
#3 · Zasláno: 27. 10. 2010, 00:42:18
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 |
#4 · Zasláno: 27. 10. 2010, 13:45:54 · Upravil/a: trta
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 * |
#5 · Zasláno: 27. 10. 2010, 14:42:15
Tak to by asi stačilo při tom unikátním klíči i použít
insert ignore into |
||
Časová prodleva: 13 let
|
0