Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie können wir sagen, dass AUTO_INCRMENT in MySQL Vorrang vor PRIMARY KEY hat?

WBOY
Freigeben: 2023-09-15 19:41:02
nach vorne
560 Leute haben es durchsucht

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

Dies kann anhand eines Beispiels verstanden werden, bei dem ein NULL-Wert in die Spalte AUTO_INCREMENT eingefügt wurde und MySQL die neue Sequenznummer bereitstellt.

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)
Nach dem Login kopieren

Aus dem obigen Beispiel können wir sehen, dass die Spalte „id“ zusammen mit dem PRIMARY KEY-Bit als NOT NULL deklariert wurde, sie aber weiterhin NULL-Werte akzeptiert. Dies liegt daran, dass die Spalte „id“ auch als AUTO_INCRMENT deklariert wurde. Selbst wenn wir also einen NULL-Wert in diese Spalte einfügen, gibt MySQL die Sequenznummer zurück.

Wenn wir dagegen versuchen, NULL in eine Spalte einzufügen, die als PRIMARY KEY, aber nicht als AUTO_INCRMENT deklariert ist, dann gibt MySQL einen Fehler wie folgt zurück:

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
Nach dem Login kopieren

Daher können wir sagen, dass AUTO_INCRMENT Vorrang vor PRIMARY KEY hat Einschränkung, da in jedem Fall Prozeduren unter AUTO_INCRMENT früher aufgelöst werden müssen, um die PRIMARY KEY-Einschränkung zu überprüfen.

Das obige ist der detaillierte Inhalt vonWie können wir sagen, dass AUTO_INCRMENT in MySQL Vorrang vor PRIMARY KEY hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!