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

Comment peut-on dire que AUTO_INCRMENT a priorité sur PRIMARY KEY dans MySQL ?

WBOY
Libérer: 2023-09-15 19:41:02
avant
591 Les gens l'ont consulté

我们怎么能说在 MySQL 中 AUTO_INCRMENT 优先于 PRIMARY KEY 呢?

Cela peut être compris avec un exemple où la valeur NULL a été insérée dans la colonne AUTO_INCREMENT et MySQL fournit le nouveau numéro de séquence.

mysql> Create table employeeinfo(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name Varchar(10));
Query OK, 0 rows affected (0.16 sec)

mysql> Insert into employeeinfo(id, Name) values(NULL, 'Saurabh');
Query OK, 1 row affected (0.07 sec)

mysql> Select * from employeeinfo;
+----+---------+
| id | Name    |
+----+---------+
| 1  | Saurabh |
+----+---------+
1 row in set (0.00 sec)
Copier après la connexion

À partir de l'exemple ci-dessus, nous pouvons voir que la colonne "id" a été déclarée NOT NULL avec le bit PRIMARY KEY, mais elle accepte toujours les valeurs NULL. En effet, la colonne "id" a également été déclarée comme AUTO_INCRMENT. Ainsi, même si nous insérons une valeur NULL dans cette colonne, MySQL renverra le numéro de séquence.

En revanche, si nous essayons d'insérer NULL dans une colonne déclarée comme PRIMARY KEY mais non déclarée comme AUTO_INCRMENT, alors MySQL renverra une erreur comme suit -

mysql> create table people(id INT primary key, name varchar(10));
Query OK, 0 rows affected (0.18 sec)

mysql> Insert into people(id, name) values(NULL, 'Rahul');
ERROR 1048 (23000): Column 'id' cannot be null
Copier après la connexion

Par conséquent, nous pouvons dire que AUTO_INCRMENT a priorité sur PRIMARY KEY contrainte car dans tous les cas, les procédures sous AUTO_INCRMENT doivent être résolues plus tôt pour vérifier la contrainte PRIMARY 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!

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