sql >> Database teknologi >  >> RDS >> Mysql

Vanskelig MySQL batch-forespørgsel

Brug ikke automatiske inkrementering-kolonner - tildel dine reference-id'er på forhånd, før du indsætter. På den måde kan du bruge en masseindsats og fjerne afhængigheden.

Opdatering:

  1. Vælg eksisterende id'er fra databasen (ideelt set et enkelt valg for alle kendte data).

  2. Berig data til at indsætte med alle kendte id'er. (beregn en nøgle for hvert element, som ville svare til den primære nøgle for din tabel i databasen, brug det til at opdatere elementet med id'et fra databasen) - du vil i sidste ende opdele dataene i elementer, som du kender til i databasen, og dermed have et kendt id - og data som ikke findes i databasen, og derfor skal have en nøgleallokering. Jeg går ud fra, at din tabel har en primær nøgle, som ikke kun er id'et - ellers kan databasen vide, at du allerede har dataene i databasen.

  3. Tildel nye id'er til alle poster uden et id.

  4. masseudskiftning af data i databasen (indsættelse af flere linjer med en enkelt sætning).



  1. Beregn dybde i en forældre-barn-model i MySQL

  2. Kan ikke indlæse com.mysql.jdbc.Driver

  3. SQL Server gruppere efter tælling af dato og tid pr. time?

  4. MySQL fejl 1449:Brugeren angivet som definerer eksisterer ikke