Pengumpulan Medan Penambahan Auto dalam MySQL
Dalam MySQL, seseorang boleh mencipta medan kenaikan automatik yang meningkat berdasarkan lajur pengumpulan, membenarkan untuk susunan data berkumpulan.
Pelaksanaan
Untuk jadual MyISAM dan BDB, struktur jadual berikut boleh digunakan:
CREATE TABLE foo ( id INT AUTO_INCREMENT NOT NULL, group_field INT NOT NULL, name VARCHAR(128), PRIMARY KEY(group_field, id) );
Penjelasan
Dengan struktur ini, nilai kenaikan automatik untuk lajur "id" ditentukan oleh formula berikut:
MAX(lajur_auto_increment) 1 WHERE awalan=awalan-diberikan
Dalam kes ini, "awalan" mewakili nilai lajur "kumpulan_medan", dengan berkesan mengumpulkan data untuk pengiraan kenaikan automatik.
Contoh
Pertimbangkan jadual berikut:
id | name | group_field |
---|---|---|
1 | test | 1 |
2 | test2 | 1 |
1 | test3 | 2 |
2 | test4 | 2 |
1 | test5 | 3 |
2 | test6 | 3 |
Apabila memasukkan rekod baharu, lajur "id" akan meningkat secara automatik dalam setiap kumpulan, menghasilkan:
id | name | group_field |
---|---|---|
3 | test | 1 |
4 | test2 | 1 |
3 | test3 | 2 |
4 | test4 | 2 |
3 | test5 | 3 |
4 | test6 | 3 |
Tingkah laku kumpulan ini boleh berguna untuk menyusun dan memesan data dalam jadual.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat medan kenaikan automatik yang mengumpulkan data berdasarkan lajur tertentu dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!