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

Comment pouvons-nous supprimer la contrainte unique de la table MySQL ?

WBOY
Libérer: 2023-08-24 19:25:05
avant
3443 Les gens l'ont consulté

Comment pouvons-nous supprimer la contrainte unique de la table MySQL ?

Pour supprimer la contrainte UNIQUE de la table MySQL, nous devons d'abord vérifier le nom de l'index créé par la contrainte UNIQUE sur la table. Nous savons que l'instruction SHOW INDEX est utilisée à cette fin. 'key_name' dans le jeu de résultats de l'instruction SHOW INDEX contient le nom de l'index. Désormais, vous pouvez utiliser l'instruction DROP INDEX ou l'instruction ALTER TABLE pour supprimer les contraintes UNIQUE. La syntaxe des deux instructions est la suivante :

Syntaxe

DROP INDEX index_name ON table_name;
OR
ALTER TABLE table_name DROP INDEX index_name;
Copier après la connexion

Exemple

Supposons que nous ayons une table appelée « empl » qui a une contrainte unique sur la colonne « empno ». Le nom de l'index peut être vérifié par −

mysql> Show Index from empl\G
*************************** 1. row ***************************
Table: empl
Non_unique: 0
Key_name: empno
Seq_in_index: 1
Column_name: empno
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.02 sec)
Copier après la connexion

Maintenant, si nous voulons supprimer la contrainte unique, nous pouvons écrire la requête suivante −

mysql> ALTER TABLE empl DROP INDEX empno;
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0
Copier après la connexion

L'ensemble de résultats de la requête suivante montrera qu'il n'y a pas de contrainte unique sur la colonne 'empno' −

mysql> describe empl;

+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| empno | int(11) | YES | | NULL | |
| F_name | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)
Copier après la connexion

Même si nous exécutons Affichage de l'index à partir de la requête empl, MySQL renverra également un ensemble vide comme indiqué ci-dessous −

mysql> Show index from empl;
Empty set (0.00 sec)
Copier après la connexion

La contrainte UNIQUE peut être supprimée de la table 'empl' en utilisant l'instruction DROP INDEX comme ci-dessous :

mysql> DROP INDEX empno on empl;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0
Copier après la connexion

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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!