2010-06-01 14 views
6

In che modo MySQL può inserire più record eseguendo una singola istruzione di inserimento?Inserimento di più record con una singola istruzione di inserimento

Il problema in questione riguarda da 1 a 10 record, a seconda dell'input dell'utente.

+1

puoi farlo anche con query separate. –

+0

ma questo è stato risolto per 3 record ma che dire se no. di registrazione sono dinamici? da 1 record a 10 ?? – nectar

risposta

11

Basta separare i valori con una virgola.

INSERT INTO 
    tablename (colname1, colname2, colname3) 
VALUES 
    ('foo1', 'bar1', 'waa1'), 
    ('foo2', 'bar2', 'waa2'), 
    ('foo3', 'bar3', 'waa3') 
+1

ma questo è fissato per 3 record ma che dire se no. di registrazione sono dinamici? da 1 record a 10 ?? – nectar

+4

È sufficiente generare sql in modo dinamico utilizzando lo stesso linguaggio di programmazione durante la raccolta dell'input dell'utente? In alternativa, puoi anche utilizzare "inserti batch". I dettagli dipendono tuttavia dal linguaggio di programmazione in questione. Se fosse ad esempio Java, suggerirei 'PreparedStatement # addBatch()' per questo. Se fosse PHP, allora 'implode()' potrebbe tornare utile. – BalusC

Problemi correlati