Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Melaksanakan Auto-Increment mengikut Kumpulan dalam MySQL?

Bagaimana untuk Melaksanakan Auto-Increment mengikut Kumpulan dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-27 20:41:30484semak imbas

How to Implement Auto-Increment by Group in MySQL?

Penambahan Auto mengikut Kumpulan dalam MySQL

MySQL menyediakan cara mudah untuk menambah nilai medan secara automatik berdasarkan lajur pengelompokan. Ini amat berguna dalam senario di mana rekod perlu dikumpulkan dan dinomborkan dalam setiap kumpulan.

Untuk Jadual MyISAM dan BDB

Untuk jadual MyISAM dan BDB, kenaikan automatik boleh ditakrifkan sebagai bahagian kunci sekunder. Sebagai contoh, pertimbangkan struktur jadual berikut:

CREATE TABLE foo (
   id          INT AUTO_INCREMENT NOT NULL,
   group_field INT NOT NULL,
   name        VARCHAR(128),

   PRIMARY KEY(group_field, id)
);

Dalam struktur ini, medan id ditakrifkan sebagai kenaikan automatik, tetapi ia juga merupakan sebahagian daripada kunci utama bersama-sama medan_kumpulan. Menurut dokumentasi MySQL:

In this case, the generated value for
   the AUTO_INCREMENT column is
   calculated as
   MAX(auto_increment_column) + 1 WHERE
   prefix=given-prefix. This is useful
   when you want to put data into ordered
   groups.

Contoh

Menggunakan jadual foo yang dibuat di atas, mari masukkan beberapa data sampel:

INSERT INTO foo (group_field, name) VALUES (1, 'test'), (1, 'test2'), (2, 'test3'), (2, 'test4'), (3, 'test5'), (3, 'test6');

Selepas memasukkan data, kandungan jadual foo akan kelihatan seperti:

+----+-----------+------+
| id | group_field | name |
+----+-----------+------+
| 1  |          1 | test |
| 2  |          1 | test2 |
| 3  |          2 | test3 |
| 4  |          2 | test4 |
| 5  |          3 | test5 |
| 6  |          3 | test6 |
+----+-----------+------+

Seperti yang anda lihat, lajur id telah dinaikkan secara automatik dalam setiap kumpulan, berdasarkan nilai medan_kumpulan.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Auto-Increment mengikut Kumpulan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn