..
A "dobře známo, že správný dotaz řízení je podmínkou pro stabilní a efektivní realizaci.
V tomto článku se budeme prezentovat málo známý, ale velmi silný syntax, mluvím o ON DUPLICATE KEY UPDATE bod.
Toto ustanovení se používá při INSERT a jeho účelem je ověřit, před vložením, je zdvojení primární klíč (primární klíč), nebo jedinečný klíč (UNIQUE KEY), a pokud se tak stane motor un'UPDATE MySQL se místo toho vložit.
Výhodou tohoto ustanovení je jasný: píšete jeden dotaz namísto dvou s výhodami z hlediska výkonu a vyčištění kódu.
Vezměme si příklad. Předpokládejme, že chceme vytvořit jednoduchý skript, který provede záznam návštěvníků našich stránek. Pod tabulkou strukturu naší databáze:
Díky syntaxe INSERT ... O DUPLICATE KEY UPDATE ... můžeme dosáhnout stejného výsledku s jedním dotazem:
INSERT INTO HODNOTY ip_visitatori (123 .123.123.123 ', 1, NYNÍ ()) O KEY DPLICATE UPDATE numero_visite numero_visite = + 1, ultima_visita = NOW ();Proto, pokud je IP je zařazení je, jinak spustit jednoduchý update postižených záznamu. Pomocí této syntaxe umožňuje získat výhody z hlediska výkonu ve výši 30%.
S trochou "představivost a vynalézavost v otázce klauzule, že může být velmi užitečné v různých situacích.
Například můžeme použít v kombinaci s podmínkou.
Zde je příklad: Předpokládejme, že máte tabulku hypotetické on-line aukční web v následující struktuře:
Nabídky INSERT INTO VALUES (1, 120) O KEY DPLICATE UPDATE migliore_offerta = KDYŽ (hodnoty (migliore_offerta) <120, 120, hodnoty (migliore_offerta))Prostřednictvím jednoduchého dotazu jsme vyřešili jedním tahem pera ... V opačném případě bychom museli použít několik dotazů s následným plýtvání zdroji (i větší riziko chyb).
| |
MS Access (Advanced)
Naučte se vytvářet a spravovat databáze snadno a rychle. Od 29 €. |
| |
MySQL (kurz)
Správa open-source databáze. Od 39 €. |
| |
SQL a databází (kurz)
Vytváření a správa relační databáze. Od 39 €. |