sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag kopiera en enda rad/post från en MySQL-instans till en annan?

Om du redan är bekant med mysqldump, ska jag påminna dig om att mysqldump har en --where alternativ , så du kan få en enda rad om du skriver villkoret för det:

mysqldump databasename tablename --where "id=12345" --no-create-info --skip-add-locks --host=db1  | \
  mysql --host=db2

Du kan också använda SELECT...INTO OUTFILE för att dumpa resultatet av en fråga du vill ha i en platt fil, till och med en fråga på en enda rad. Sedan LADDA DATAINFIL för att importera den filen i den andra instansen.

Du kan också skriva ett enkelt manus på ditt val av språk. Anslut till båda instanserna. VÄLJ en enskild rad från källinstansen, spara den i en variabel i skriptet. Forma sedan ett INSERT-kommando för att köra mot destinationsinstansen. Detta kanske inte är det mest effektiva sättet att flytta en stor mängd data, men för en enda rad skulle det vara bra.




  1. Skapa ett relaterat eller liknande inlägg med PHP &MySQL

  2. Infoga data i tabeller länkade med främmande nyckel

  3. MySQL WHERE IN ()

  4. mysql är död men subsys låst