Maison  >  Article  >  base de données  >  Comment pouvons-nous supprimer la contrainte unique de la table MySQL ?

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

WBOY
WBOYavant
2023-08-24 19:25:053446parcourir

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;

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)

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

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)

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)

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer