..
Za určitých okolností sa môže stať, že je potrebné, v rámci webovej aplikácie, alebo jednoducho správu dát v našej firemnej databáze MySQL, vytvárať kópie celých záznamov alebo ich častí.
Zoberme si príklad. Povedzme, že musíme zvládnuť databázy e-commerce a môže byť nutné skopírovať list vložiť novú s rovnakými vlastnosťami ako existujúce. Predpokladajme napríklad betón, nutnosti zadanie ako produkt našej hypotetické elektronický obchod v produkte "16GB iPod Nano" vo farbe "Silver", karta sa rovnaký produkt už k dispozícii "iPod Nano 16 GB" farba "biela" .
Predpokladajme, že iPod rady výrobkov sú zaradené v tabuľke lettori_mp3 v nasledujúcej štruktúre:
Ak chcete vytvoriť kópiu záznamu budeme používať tento dotaz:
INSERT INTO lettori_mp3 SELECT * FROM WHERE id = 123 lettori_mp3;Týmto spôsobom vytvoríme zaznamenať rovnaké a my sa len zmeniť pole "ID" a "farebných" ručným zadaním hodnôt pre nový záznam.
Uvedomte si však, že ak je pole ID nášho stola bol stanovený ako číselnú hodnotu auto_increment s jedinečným výhľadom na dotaz vráti chybu (pretože nemôžete mať dva rovnaké identifikátory !!!). V tomto prípade by sme mali zvoliť pole, ktoré chcete skopírovať okrem ID oblasti:
INSERT INTO lettori_mp3 (značka, model, opis, farba, cena) SELECT značka, model, popis, "striebrom", cena lettori_mp3 Odkiaľ id = 123;Ako môžete vidieť, sme skopírovali všetky polia v zázname, s výnimkou poľa "ID" (z dôvodu uvedené vyššie).
Et voila.
To je všetko.
Jednoducho sme si urobiť pekný SELECT na našom stole, či nový rekord bol zadaný správne.
Je to sotva Treba podotknúť, konečne, že je možné robiť kópie časti alebo všetkých záznamov z rôznych tabuliek tiež (stačí zadať správne názvy polí pre kopírovanie a uistite sa, že akceptujú rovnaké typy dát).
| |
MS Access (Advanced)
Naučte sa vytvárať a spravovať databázy jednoducho a rýchlo. Od 29 €. |
| |
MySQL (kurz)
Správa open-source databázy. Od 39 €. |
| |
SQL a databáz (kurz)
Vytváranie a správa relačnej databázy. Od 39 €. |