sql >> Base de Datos >  >> RDS >> Mysql

inserte un solo conjunto de datos varias veces mysql

Sí, esto se puede hacer fácilmente, debería verse así:

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

Sin embargo, es una buena práctica de programación especificar las columnas de su tabla en la consulta, por ejemplo:

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

EDITAR:puede crear su consulta de esta manera (en for ciclo), el $total es su entrada de usuario:

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

Como puede ver, no ejecutar INSERT declaración en el ciclo, sino que construimos el texto de la consulta SQL y luego lo ejecutaremos en una sola pasada.