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

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

WBOY
WBOYnach vorne
2023-09-15 19:41:02564Durchsuche

我们怎么能说在 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)

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen