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

inserisci un singolo set di dati più volte mysql

Sì, questo può essere fatto facilmente, dovrebbe assomigliare a questo:

INSERT INTO MyTable VALUES ("John", 123, "US"), ("Carl", 123, "EU"), ("Jim", 123, "FR");

Tuttavia, è buona pratica di programmazione specificare le colonne della tua tabella nella query, ad esempio:

INSERT INTO MyTable (Column1, Column2, Column3) 
VALUES ("John", 123, "US"), ("Carl", 123, "EU"), ("Jim", 123, "FR");

EDIT:puoi creare la tua query in questo modo (in for ciclo), il $total è il tuo input utente:

$sql = "INSERT INTO MyTable (Column1, Column2, Column3) VALUES";

//Build SQL INSERT query
for ($i = 1; $i <= $total; $i++) {
  $sql .= " ($value1, $value2, $value3), ";
}
//Trim the last comma (,)
$sql = rtrim($sql,",");
//Now, the $sql var contains the complex query. 
$result = mysql_query($sql);

Come puoi vedere non lo facciamo eseguire il INSERT istruzione nel ciclo, ma piuttosto costruiamo il testo della query SQL e quindi lo eseguiremo in un passaggio.