MySQL JSON: Mencari Objek mengikut Nilai Utama
Apabila bekerja dengan objek JSON dalam MySQL, anda mungkin menghadapi situasi di mana anda perlu mencari objek tertentu dalam data JSON menggunakan kunci daripada objek lain. Ini boleh menjadi tugas yang mencabar tanpa fungsi yang sesuai. Dalam artikel ini, kita akan membincangkan cara yang cekap untuk mencapai ini menggunakan JSON_TABLE().
Sintaks untuk JSON_TABLE() adalah seperti berikut:
<code class="sql">JSON_TABLE(expression, path_expression COLUMNS *(expression_list))</code>
Dalam kes ini, kami mempunyai Struktur JSON serupa dengan yang disediakan dalam soalan asal, di mana kita mempunyai pelbagai objek yang mengandungi pasangan nilai kunci. Kami ingin mendapatkan semula objek dengan nilai yang ditentukan daripada satu kunci semasa mencari pada kunci lain.
Menggunakan JSON_TABLE(), kita boleh menulis pertanyaan seperti berikut:
<code class="sql">SELECT field_options.* FROM fields CROSS JOIN JSON_TABLE(options, '$[*]' COLUMNS( text TEXT PATH '$.text', value TEXT PATH '$.value' ) ) field_options WHERE field_options.value = 1;</code>
Begini caranya berfungsi:
Hasilnya akan jadilah jadual yang mengandungi objek padanan daripada tatasusunan JSON.
Walau bagaimanapun, perlu dipertimbangkan sama ada menggunakan JSON ialah penyelesaian optimum untuk jenis data ini. Jika data anda boleh diwakili dengan lebih cekap dalam struktur jadual hubungan yang dinormalkan, mungkin lebih baik untuk mengelak daripada menggunakan JSON. Ini boleh memudahkan tugasan pertanyaan dan penyelenggaraan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Objek JSON Tertentu dengan Nilai Utama Menggunakan MySQL JSON_TABLE()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!