sql >> Databasteknik >  >> RDS >> Mysql

infoga en enda uppsättning data flera gånger mysql

Japp, detta kan göras enkelt, det borde se ut ungefär så här:

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

Det är dock god programmeringspraxis att specificera kolumnerna i din tabell i frågan, till exempel:

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

EDIT:Du kan bygga din fråga så här (i for cycle), $total är din användarinmatning:

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

Som du kan se gör vi inte kör INSERT sats i loopen, utan snarare bygger vi SQL-frågetexten och sedan vi kommer att utföra det i ett pass.




  1. skapa tabell med sequence.nextval i oracle

  2. Hur ansluter man Android-appen till MySQL-databasen?

  3. Åtkomst nekad för användaren 'www-data'@'localhost – hur ska man hantera det?

  4. Finns det något sätt att tvinga Oracle att ändra en frågas plan utan att använda tips?