Maison > base de données > tutoriel mysql > le corps du texte

Quel enregistrement est conservé lors de l'utilisation de « ALTER IGNORE TABLE ADD UNIQUE » dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-04 02:51:29
original
758 Les gens l'ont consulté

Which record is preserved when using `ALTER IGNORE TABLE ADD UNIQUE` in MySQL?

MySQL : ALTER IGNORE TABLE ADD UNIQUE - Implications de la troncature d'enregistrement

Une instruction ALTER TABLE avec la clause IGNORE est utilisée pour ajouter une contrainte unique à une table, supprimant potentiellement les enregistrements en double. Cependant, le ou les enregistrements spécifiques conservés peuvent soulever des questions.

Question :

Lors de l'exécution de l'instruction suivante :

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

Quel enregistrement sera conservé s'il existe plusieurs enregistrements en double avec le même type et les mêmes valeurs de propriétaire ?

Réponse :

Depuis MySQL 5.7.4, la clause IGNORE n'est plus pris en charge et son utilisation entraînera une erreur.

Cependant, dans les versions antérieures de MySQL qui autorisent la clause IGNORE :

  • Premier enregistrement conservé : Seul le La première ligne du tableau avec la combinaison de touches unique sera conservée.
  • Lignes en double tronquées : Toutes les autres lignes avec la même combinaison de touches unique seront supprimé.

Selon la documentation MySQL, « premier » fait probablement référence à l'enregistrement avec la valeur de clé primaire la plus basse. Dans votre cas, en supposant que la colonne ID soit la clé primaire, l'enregistrement avec le plus petit ID sera celui conservé.

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