..


Sponsrade länkar

Duplicera / kopiera en post i MySQL

Artikel skriven av Max Bossi

Under vissa omständigheter kan det hända att behovet inom en webbapplikation eller helt enkelt hantera data i vår MySQL-databas företag, att göra kopior av hela poster eller delar av dem.

Låt oss ta ett exempel. Låt oss säga att vi har att sköta databasen av en e-handel och kan behöva kopiera ett blad att infoga ett nytt med samma egenskaper som en befintlig. Anta till exempel betong, att behöva ange som en produkt av vårt hypotetiska elektroniska butik i produkten "16GB iPod nano" i färgen "Silver" kort med samma produkt till den som redan finns "iPod Nano 16GB" färg "White" .

Antag att iPod-familj av produkter klassificeras i tabellen lettori_mp3 struktureras enligt följande:

  • ID
  • varumärke
  • modell
  • beskrivning
  • färg
  • pris
Antag att den produkt du vill kopiera ("iPod Nano 16GB" färg "White") har ID 123.

Att göra en kopia av skivan vi kommer att använda denna fråga:






 INSERT INTO lettori_mp3

 





 SELECT * FROM WHERE id = 123 lettori_mp3;



På detta sätt kommer vi att skapa en post med samma och vi kommer bara ändra de fält "ID" och "färg" genom att manuellt ange värden för den nya posten.

Observera dock att om ID-fältet i vårt bord var satt som ett numeriskt värde med AUTO_INCREMENT unik utsikt över den frågan kommer att returnera ett fel (eftersom du inte kan ha två identiska identifierare !!!). I detta fall bör vi välja de fält du vill kopiera utom ID-fältet:






 INSERT INTO lettori_mp3 (märke, modell, beskrivning, färg, pris)







 VÄLJ märke, modell, beskrivning, "Silver", pris lettori_mp3 FROM WHERE id = 123;



Som ni ser har vi kopierat alla fält i posten, utom fältet "ID" (av den anledningen ovan).
Du kanske har märkt också, att vi har ersatt i SELECT-fältet "färg" (i den ursprungliga posten färgen är "vit") det värde att infoga i den nya posten ("Silver").

Et voila. Du är klar.
Vi måste bara göra en fin SELECT på vårt bord för att se om den nya skivan har matats in korrekt.

Det är knappast nödvändigt att påpeka, slutligen, att man kan göra kopior av hela eller delar av poster av olika bord också (det räcker med att ange korrekt namn på fält för att kopiera och se till att de accepterar samma datatyper).

I samma kategori ...
E-Learning
MS Access (avancerat) MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €.
MySQL (kurs) MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €.
SQL och databas (kurs) SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €.
Sponsrade länkar