Describeaccounts;+--------+------------ -+ ------+-----+---------+--------------"/> Describeaccounts;+--------+------------ -+ ------+-----+---------+--------------">
Maison > Article > base de données > Que se passe-t-il si j'essaie de supprimer la contrainte PRIMARY KEY de la colonne AUTO_INCREMENT ?
Comme nous le savons, la colonne AUTO_INCREMENT doit également avoir la contrainte PRIMARY KEY, donc lorsque nous essayons de supprimer la contrainte PRIMARY KEY de la colonne AUTO_INCREMENT, MySQL renvoie un message d'erreur concernant une définition de table incorrecte. L'exemple suivant le démontrera −
Supposons que nous ayons une table appelée « Comptes » avec la description suivante −
mysql> Describe accounts; +--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | Sr | int(10) | NO | PRI | NULL | auto_increment | | Name | varchar(20) | YES | | NULL | | | amount | int(15) | YES | | NULL | | +--------+-------------+------+-----+---------+----------------+ 3 rows in set (0.10 sec)
Elle a un champ « Sr » avec AUTO_INCREMENT et PRIMARY KEY définis. Maintenant, si nous essayons de supprimer cette CLÉ PRIMAIRE, MySQL générera l'erreur suivante -
mysql> Alter table Accounts DROP PRIMARY KEY; ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
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!