..


Sponsorerede links

Dupliker / Kopiér en post i MySQL

Artikel skrevet af Max Bossi

Under visse omstændigheder kan det ske at have brug for inden for en web-applikation eller simpelthen styre data i vores MySQL database-firma til at lave kopier af hele poster eller dele af dem.

Lad os tage et eksempel. Lad os sige, at vi er nødt til at administrere databasen af ​​en e-handel og kan have brug for at kopiere et ark til at indsætte et nyt med samme egenskaber som en eksisterende. Antag, for eksempel beton, at du behøver som et produkt af vores hypotetiske elektroniske butik i produktet "16GB iPod Nano" i farven "Silver"-kort med det samme produkt til de allerede foreliggende "iPod Nano 16GB" farve "Hvid" .

Antag, at iPod-familien af produkter er klassificeret i tabellen lettori_mp3 struktureret som følger:

  • ID
  • brand
  • model
  • Beskrivelse
  • farve
  • pris
Antag, at det produkt, du vil kopiere ("iPod Nano 16GB" farve "Hvid") har ID 123.

At lave en kopi af den rekord, vi vil bruge denne forespørgsel:






 INSERT INTO lettori_mp3

 





 SELECT * FROM WHERE id = 123 lettori_mp3;



På denne måde vil vi oprette en post det samme, og vi vil bare skifte felterne "ID" og "farve" ved manuelt at angive værdier for ny rekord.

Bemærk dog, at hvis id-feltet af vores bord blev sat som en numerisk værdi med AUTO_INCREMENT enestående udsigt over den forespørgsel vil returnere en fejl (fordi du ikke kan have to identiske identifikatorer !!!). I dette tilfælde skal vi vælge de felter, du vil kopiere uden id-feltet:






 INSERT INTO lettori_mp3 (mærke, model, beskrivelse, farve, pris)







 SELECT mærke, model, beskrivelse og 'Silver', pris lettori_mp3 Hvorfra id = 123;



Som du kan se, at vi har kopieret alle felter i det register, undtagen feltet "ID" (af den årsag, nævnt ovenfor).
Du har måske bemærket også, at vi har erstattet i SELECT feltet "farve" (i den oprindelige rekord farven er "Hvid") værdien til at indsætte i ny rekord ("Silver").

Et voila. Du er færdig.
Vi er bare nødt til at lave en flot SELECT på vores bord for at se, om den nye rekord er indtastet korrekt.

Det er næppe nødvendigt at påpege, endelig, at du kan lave kopier af alle eller en del af poster i forskellige tabeller også (det er nok at angive den korrekte navne på felter for at kopiere og sørg for, at de accepterer de samme data typer).

I den samme kategori ...
E-Learning
MS Access (Avanceret) MS Access (Avanceret)
Lær at oprette og administrere databaser hurtigt og nemt. Fra 29 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
SQL-og Database (Kursus) SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €.
Sponsorerede links