..
Za určitých okolností se může stát, že je třeba, v rámci webové aplikace, nebo prostě správu dat v naší firemní databázi MySQL, vytvářet kopie celých záznamů nebo jejich částí.
Vezměme si příklad. Řekněme, že musíme zvládnout databáze e-commerce a může být nutné zkopírovat list vložit novou se stejnými vlastnostmi jako stávající. Předpokládejme například beton, nutnosti zadání jako produkt naší hypotetické elektronický obchod v produktu "16GB iPod Nano" v barvě "Silver", karta se stejný produkt již k dispozici "iPod Nano 16 GB" barva "bílá" .
Předpokládejme, že iPod řady výrobků jsou zařazeny v tabulce lettori_mp3 v následující struktuře:
Chcete-li vytvořit kopii záznamu budeme používat tento dotaz:
INSERT INTO lettori_mp3 SELECT * FROM WHERE id = 123 lettori_mp3;Tímto způsobem vytvoříme zaznamenat stejné a my se jen změnit pole "ID" a "barevných" ručním zadáním hodnot pro nový záznam.
Uvědomte si však, že pokud je pole ID našeho stolu byl stanoven jako číselnou hodnotu auto_increment s jedinečným výhledem na dotaz vrátí chybu (protože nemůžete mít dva stejné identifikátory !!!). V tomto případě bychom měli zvolit pole, která chcete zkopírovat kromě ID oblasti:
INSERT INTO lettori_mp3 (značka, model, popis, barva, cena) SELECT značka, model, popis, "stříbrem", cena lettori_mp3 Odkud id = 123;Jak můžete vidět, jsme zkopírovali všechna pole v záznamu, s výjimkou pole "ID" (z důvodu uvedeno výše).
Et voila.
To je vše.
Prostě jsme si udělat pěkný SELECT na našem stole, zda nový rekord byl zadán správně.
Je to sotva Nutno podotknout, konečně, že je možné pořizovat kopie části nebo všech záznamů z různých tabulek také (stačí zadat správné názvy polí pro kopírování a ujistěte se, že akceptují stejné typy dat).
| |
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 €. |