Dans MySQL, vous pouvez utiliser l'instruction "ALTER TABLE table name DROP INDEX unique key name" pour supprimer une clé unique ; l'instruction ALTER TABLE est utilisée pour ajouter, supprimer ou modifier des données, et l'instruction DROP INDEX est utilisée pour exprimer l’opération de suppression de contrainte.
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
La contrainte unique MySQL (Unique Key) signifie que la valeur du champ dans tous les enregistrements ne peut pas être répétée.
Par exemple, après avoir ajouté une contrainte unique au champ id, la valeur id de chaque enregistrement est unique et ne peut pas être répétée. Si la valeur d'identifiant de l'un des enregistrements est « 0001 », alors il ne peut pas y avoir d'autre enregistrement avec la valeur d'identifiant « 0001 » dans la table.
Les contraintes uniques sont similaires aux contraintes de clé primaire dans le sens où elles garantissent toutes deux l'unicité des colonnes. La différence est qu'il peut y avoir plusieurs contraintes uniques dans une table et que la colonne dans laquelle la contrainte unique est définie peut avoir des valeurs nulles, mais il ne peut y avoir qu'une seule valeur nulle. Il ne peut y avoir qu'une seule contrainte de clé primaire dans une table et les valeurs nulles ne sont pas autorisées. Par exemple, dans le tableau d'informations utilisateur, afin d'éviter les noms d'utilisateur en double dans le tableau, le nom d'utilisateur peut être défini comme une contrainte unique.
Supprimer une contrainte unique
Le format syntaxique pour supprimer une contrainte unique dans MySQL est le suivant :
ALTER TABLE <表名> DROP INDEX <唯一约束名>;
L'exemple est le suivant :
Supprimez la contrainte unique nom_unique dans la table de données tb_dept1 L'instruction SQL et. les résultats d'exécution sont les suivants.
mysql> ALTER TABLE tb_dept1 -> DROP INDEX unique_name; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_dept1; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(22) | NO | | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
Connaissances étendues :
Définissez des contraintes uniques lors de la création de la table
Des contraintes uniques peuvent être définies directement lors de la création de la table, généralement sur d'autres colonnes à l'exception de la clé primaire.
Utilisez le mot-clé UNIQUE pour spécifier une contrainte unique directement après avoir défini la colonne. Le format de syntaxe est le suivant :
<字段名> <数据类型> UNIQUE
Exemple 1
Créez la table de données tb_dept2 et spécifiez un nom unique pour le département et l'exécution. les résultats sont les suivants.
mysql> CREATE TABLE tb_dept2 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> location VARCHAR(50) -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_dept2; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(40) | YES | UNI | NULL | | | location | varchar(50) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.08 sec)
Apprentissage recommandé : Tutoriel vidéo MySQL
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!