Maison > Article > développement back-end > Est-il préférable d'exécuter plusieurs instructions « INSERT » séparément ou dans une seule requête ?
Exécuter plusieurs instructions MySQL INSERT dans une seule requête
Question originale :
Est-ce Est-il possible d'exécuter plusieurs instructions INSERT dans une seule requête MySQL ?
Répartition des réponses :
Bien qu'il soit techniquement possible de concaténer plusieurs instructions INSERT en une seule requête à l'aide du point-virgule (;) en tant que séparateur d'instructions, ce n'est pas l'approche optimale.
Pratique recommandée :
Pour plus d'efficacité et de maintenabilité, il est généralement recommandé d'utiliser des instructions INSERT distinctes pour chaque ensemble de données, même lors de l'insertion dans le même tableau. Cela permet une meilleure gestion des erreurs et réduit le risque d'incohérences des données.
Exemple d'instructions INSERT séparées :
<code class="php">$string1 = "INSERT INTO table1 (column1, column2) VALUES (1, 'John');"; $string2 = "INSERT INTO table1 (column1, column2) VALUES (2, 'Mary');"; mysql_query($string1) or die(mysql_error()); mysql_query($string2) or die(mysql_error());</code>
Approche alternative utilisant un seul INSERT instruction avec plusieurs valeurs :
Dans certains scénarios, il peut être plus efficace d'insérer plusieurs valeurs à l'aide d'une seule instruction INSERT avec une liste de valeurs séparées par des virgules.
Exemple d'instruction INSERT avec plusieurs valeurs :
<code class="php">$string3 = "INSERT INTO table1 (column1, column2) VALUES (1, 'John'), (2, 'Mary');"; mysql_query($string3) or die(mysql_error());</code>
Notez que cette approche ne convient que si toutes les valeurs sont insérées dans la même table avec les mêmes colonnes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!