Autor | Zpráva | ||
---|---|---|---|
radas Profil * |
#1 · Zasláno: 13. 1. 2011, 11:17:00
Zdravím,
zpracovávám xml soubor a musim provádět kontrolu, jestli je daná položka již v db nebo ne. Kontrola se provádi podle id záznamu. A napadly mě dva způsoby 1) načtu si všechny id z db do pole a pak jej při zpracování xml budu hledat v tom poli 2) nebo během zpracování xml budu vždy posílát jeden dotaz na db jestli tam daný záznam je nebo ne a pak jej buď vložim nebo upravim v db. Nebo jestli existuje nějaká třetí možnost určitě rád se něčemu přiučim.. |
||
xmark Profil |
#2 · Zasláno: 13. 1. 2011, 11:23:34
Volil bych 1. Při vkládání stovek nebo tisíců položek by druhý postup byl dost nefajn.
|
||
Tori Profil |
#3 · Zasláno: 13. 1. 2011, 11:24:29
radas:
„pak jej buď vložim nebo upravim v db.“ Možná se vám hodí příkaz REPLACE anebo INSERT ... ON DUPLICATE KEY UPDATE - záleží, jestli upravujete jen pár sloupců, nebo aktualizujete celý řádek. |
||
radas Profil * |
#4 · Zasláno: 13. 1. 2011, 11:34:03
no taky si myslim, že ta prvni možnost je lepší....
Tori: no upravuji celý řádek o 9 sloupcích...ale to replace se mi dost zamlouvá... |
||
joe Profil |
#5 · Zasláno: 13. 1. 2011, 11:52:45 · Upravil/a: joe
Udělal bych jeden cyklus, kde by byl jen INSERT. Pokud už to tam je, dojde k chybě 1062 (duplicate), tak půjdeš na dál (continue).
EDIT: Tak když ještě upravuješ, tak při té chybě co zachytíš 1062, tak uděláš ještě UPDATE. Tady není třeba INSERT ON DUPLICATE. |
||
Časová prodleva: 13 let
|
0