Maison > base de données > tutoriel mysql > Comment « ALTER IGNORE TABLE ADD UNIQUE » gère-t-il les enregistrements en double dans MySQL ?

Comment « ALTER IGNORE TABLE ADD UNIQUE » gère-t-il les enregistrements en double dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-03 17:58:30
original
854 Les gens l'ont consulté

How Does `ALTER IGNORE TABLE ADD UNIQUE` Handle Duplicate Records in MySQL?

MySQL : ALTER IGNORE TABLE ADD UNIQUE - Quel enregistrement reste ?

Lors de l'utilisation de l'instruction ALTER IGNORE TABLE ADD UNIQUE dans MySQL, il est essentiel pour comprendre son comportement concernant les enregistrements en double avec des valeurs de clé uniques identiques.

Plus précisément, dans les versions MySQL antérieures à 5.7.4, la clause IGNORE permettait de gérer différemment les enregistrements en double. Pour l'opération ALTER TABLE que vous avez fournie :

ALTER IGNORE TABLE `my_table`
    ADD UNIQUE (`type`, `owner`);
Copier après la connexion

S'il existe des enregistrements avec un type et des valeurs de propriétaire en double, le comportement dépend de l'existence d'une clé primaire.

Avec clé primaire (par exemple, ID AUTO_INCREMENT PRIMARY KEY)

Dans ce cas, l'enregistrement avec le ID le plus petit sera conservé, tandis que tous les autres enregistrements en double avec le même type et les valeurs du propriétaire seront supprimées. La clause IGNORE demande à MySQL d'ignorer tout conflit causé par des valeurs de clé en double.

Sans clé primaire

Si aucune clé primaire n'existe, le comportement exact de ALTER IGNORE TABLE est plus ambigu. Différentes versions de MySQL peuvent gérer cette situation différemment, il est donc généralement recommandé d'éviter d'utiliser IGNORE sans clé primaire.

Dans MySQL 5.7.4 et versions ultérieures

Il est important de notez que la clause IGNORE pour ALTER TABLE a été supprimée à partir de MySQL 5.7.4. Tenter d'utiliser IGNORE dans ces versions entraînera une erreur.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal