Maison  >  Article  >  base de données  >  Comment supprimer la clé primaire dans MySQL ?

Comment supprimer la clé primaire dans MySQL ?

青灯夜游
青灯夜游original
2019-05-08 09:39:1632313parcourir

Après avoir défini une clé primaire dans une table, que devez-vous faire si vous souhaitez supprimer la clé primaire ? L'article suivant vous présentera comment supprimer la clé primaire dans MySQL. J'espère qu'il vous sera utile.

Comment supprimer la clé primaire dans MySQL ?

Tout d'abord, examinons la syntaxe de suppression de la clé primaire :

ALTER  TABLE  TABLE_NAME  DROP  PRIMARY  KEY;

Il y a deux situations à considérer lors de la suppression d'une clé primaire key dans MySQL :

1. La colonne clé primaire n'a aucune contrainte et la clé primaire peut être supprimée directement

Exemple :

mysql> create table test1_3(
    -> id int not null primary key,
    -> name char(10)
    -> );
Query OK, 0 rows affected (0.01 sec)

On peut directement utiliser drop to supprimer la clé primaire

mysql> alter table test1_3 drop primary key;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

2. S'il s'agit de la clé primaire d'auto-incrémentation (attribut AUTO_INCREMENT)

Exemple :

mysql> create table test1_2(
    -> id int not null  auto_increment,
    -> name char(10),-> primary key(id)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> desc test1_2;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int(11)  | NO   | PRI | NULL    | auto_increment |
| name  | char(10) | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

Si elle est supprimée directement, une erreur sera rapporté

mysql> alter table test1_2 drop primary key;

Sortie :

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key               
#这说明此列是自动增长列,无法直接删除

Les attributs de la colonne sont toujours là Avec AUTO_INCREMENT, vous devez d'abord supprimer l'attribut de croissance automatique de cette colonne avant de pouvoir supprimer la clé primaire.

mysql> alter table test1_2 modify id int;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table test1_2 drop primary key;
Query OK, 0 rows affected (0.02 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:
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