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

Pourquoi INSERT IGNORE incrémente la clé primaire auto_increment ?

C'est le comportement par défaut depuis MySQL 5.1.22.

Vous pouvez définir la variable de configuration innodb_autoinc_lock_mode à 0 (alias mode de verrouillage "traditionnel") Si vous souhaitez éviter les lacunes dans vos colonnes d'auto-incrémentation. Cependant, cela peut entraîner une pénalité de performance, car ce mode a pour effet de maintenir un verrou de table jusqu'à ce que le INSERT complète.

À partir de la documentation sur Modes de verrouillage InnoDB AUTO_INCREMENT :