Autor Zpráva
radas
Profil *
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
Volil bych 1. Při vkládání stovek nebo tisíců položek by druhý postup byl dost nefajn.
Tori
Profil
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 *
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
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0