golang - mysql Mehrere Daten gleichzeitig einfügen?

9

Ich weiß, dass mehrere Daten gleichzeitig mehr Effizienz einfügen:

%Vor%

Wie geht das in Golang?

%Vor%

Verwenden Sie String Spleiß, aber es ist nicht gut. db.Prepare sicherer, oder?

%Vor%

Ich brauche eine Funktion, die sicher und effizient mehrere Daten gleichzeitig einfügt.

    
leiyonglin 14.01.2014, 07:32
quelle

2 Antworten

32

warum nicht so etwas? (Schreiben hier, ohne zu testen, daher könnte es Syntaxfehler geben):

%Vor%     
Not_a_Golfer 14.01.2014, 11:15
quelle
-4

Nicht wirklich eine Antwort auf die Frage, wie sie gefragt hat, aber trotzdem ...

Ihr Code-Schnipsel "Ich will es nicht machen" ist seltsam: Warum bereiten Sie die Aussage in der Schleife vor und nicht vorher? Der richtige Ansatz wäre daher:

%Vor%

Das ist wesentlich besser als Ihre ursprüngliche Aussage: Sie bereiten die Anweisung genau einmal vor und rufen sie dann für jede Zeile Ihrer Eingabedaten einmal auf.

Ich denke, dass dieser Ansatz nicht zu viel Aufwand im Vergleich zu der Anweisung mit mehreren Tupeln nach der VALUES -Klausel haben wird. Der einzige wirkliche Nachteil ist, dass wenn Sie möchten, dass alle drei Zeilen atomisch eingefügt werden, müssen Sie Aufrufe an stmt.Exec() in der Schleife innerhalb einer Transaktion einschließen.

    
kostix 14.01.2014 10:10
quelle

Tags und Links