Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah kita boleh mengatakan bahawa AUTO_INCRMENT lebih diutamakan daripada PRIMARY KEY dalam MySQL?

Bagaimanakah kita boleh mengatakan bahawa AUTO_INCRMENT lebih diutamakan daripada PRIMARY KEY dalam MySQL?

WBOY
WBOYke hadapan
2023-09-15 19:41:02560semak imbas

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

Ini boleh difahami dengan contoh di mana nilai NULL telah dimasukkan ke dalam lajur AUTO_INCREMENT dan MySQL menyediakan nombor urutan baharu.

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)

Daripada contoh di atas kita dapat melihat bahawa lajur "id" telah diisytiharkan BUKAN NULL bersama-sama dengan bit KUNCI UTAMA, tetapi ia masih menerima nilai NULL. Ini kerana lajur "id" juga telah diisytiharkan sebagai AUTO_INCRMENT. Jadi walaupun kita memasukkan nilai NULL dalam lajur ini, MySQL akan mengembalikan nombor urutan.

Sebaliknya, jika kita cuba memasukkan NULL dalam lajur yang diisytiharkan sebagai PRIMARY KEY tetapi tidak diisytiharkan sebagai AUTO_INCRMENT, maka MySQL akan mengembalikan ralat seperti berikut -

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

Oleh itu, kita boleh mengatakan bahawa AUTO_INCRMENT lebih diutamakan daripada PRIMARY KEY kekangan kerana dalam apa jua keadaan Prosedur di bawah AUTO_INCRMENT perlu diselesaikan lebih awal untuk menyemak kekangan PRIMARY KEY.

Atas ialah kandungan terperinci Bagaimanakah kita boleh mengatakan bahawa AUTO_INCRMENT lebih diutamakan daripada PRIMARY KEY dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam