..


Sponzorované odkazy

Duplicitní / Kopírování záznamu v MySQL

Článek napsal Max Bossi

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:

  • ID
  • značka
  • model
  • popis
  • barva
  • cena
Předpokládejme, že produkt, který chcete kopírovat ("iPod Nano 16GB" barva "bílá"), má číslo 123.

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).
Možná jste si všimli, i to, že jsme nahradili v SELECT pole "barva" (v originále záznam barva je "bílá") na hodnotu vložit do nového záznamu ("Silver").

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).

Ve stejné kategorii ...
E-Learning
MS Access (Advanced) MS Access (Advanced)
Naučte se vytvářet a spravovat databáze snadno a rychle. Od 29 €.
MySQL (kurz) MySQL (kurz)
Správa open-source databáze. Od 39 €.
SQL a databází (kurz) SQL a databází (kurz)
Vytváření a správa relační databáze. Od 39 €.
Sponzorované odkazy