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!