Mysql
 sql >> Base de données >  >> RDS >> Mysql

insérer un seul ensemble de données plusieurs fois mysql

Oui, cela peut être fait facilement, cela devrait ressembler à ceci :

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

Cependant, il est recommandé de spécifier les colonnes de votre table dans la requête, par exemple :

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

EDIT :Vous pouvez construire votre requête comme ceci (en for cycle), le $total est votre entrée utilisateur :

$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);

Comme vous pouvez le voir, nous ne le faisons pas exécuter le INSERT déclaration dans la boucle, mais nous construisons plutôt le texte de la requête SQL et puis nous allons l'exécuter en une seule passe.