Bagaimana untuk Melaksanakan Auto-Increment mengikut Kumpulan dalam MySQL?

Barbara Streisand
Lepaskan: 2024-10-27 20:41:30
asal
483 orang telah melayarinya

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)
);
Salin selepas log masuk

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.
Salin selepas log masuk

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');
Salin selepas log masuk

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 |
+----+-----------+------+
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!