Nilai JSON Carian MySQL mengikut Tatasusunan Kunci
Dalam MySQL 8.0.15, mencari nilai khusus dalam tatasusunan objek JSON boleh mencabar. Walau bagaimanapun, fungsi JSON_TABLE() menyediakan penyelesaian dengan menukar dokumen JSON kepada jadual terbitan maya.
Pertimbangkan tatasusunan berikut:
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7}, ]</code>
Untuk mendapatkan semula kekuatan Knight, kami boleh menggunakan:
<code class="sql">SELECT j.strength FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' ) ) AS j WHERE j.race = 'Knight'</code>
Ini menukar tatasusunan JSON kepada jadual dengan lajur "perlumbaan" dan "kekuatan", membolehkan kami menggunakan klausa WHERE untuk mencari nilai yang diingini.
Walau bagaimanapun , kelemahan menggunakan JSON_TABLE() ialah keperluan untuk menentukan atribut yang diingini dalam pertanyaan, yang mungkin tidak dapat dilakukan jika atribut tidak diketahui. Ini menyerlahkan kepentingan mentakrifkan atribut apabila bekerja dengan data JSON untuk memudahkan pertanyaan dan mengelakkan gabungan yang rumit.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!