..
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:
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).
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).
| |
MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €. |
| |
MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €. |
| |
SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €. |