De nombreux développeurs rencontrent le besoin d'insérer efficacement de nombreuses lignes dans une table MySQL et d'obtenir leurs identifiants correspondants. Alors que classiquement, la récupération du dernier ID inséré est simple à l'aide de LAST_INSERT_ID(), les procédures d'insertion groupée nécessitent une approche révisée.
Solution :
Pour les tables MySQL InnoDB, une solution émerge en utilisant LAST_INSERT_ID() en conjonction avec ROW_COUNT(). Cette stratégie repose sur la capacité inhérente d'InnoDB à maintenir une numérotation séquentielle lors des insertions groupées, à condition que le paramètre innodb_autoinc_lock_mode soit défini sur 0 (traditionnel) ou 1 (consécutif).
Par conséquent, en obtenant le LAST_INSERT_ID(), qui représente le premier ID inséré, et en ajoutant ROW_COUNT() - 1, nous acquérons l'ID final inséré. Cette méthode nous permet d'établir un tableau d'identifiants de manière transparente.
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!