Mencari Data JSON yang Diekodkan dalam MySQL
Anda telah menghadapi kesukaran untuk menanyakan data yang dikodkan JSON dalam MySQL. Terutama, pertanyaan MySQL semasa anda mengembalikan hasil yang tidak konsisten apabila cuba mendapatkan kunci yang sama dengan "1" dengan nilai yang berbeza daripada "3."
Penyelesaian untuk Versi MySQL >= 5.7
Jika anda menggunakan MySQL versi 5.7 atau lebih baru, anda boleh memanfaatkan fungsi JSON_EXTRACT dengan berkesan cari dalam data JSON. Sintaks untuk fungsi ini ialah:
JSON_EXTRACT(JSON_DOCUMENT, JSON_PATH)
Dalam kes khusus anda, untuk membuat pertanyaan untuk kunci "1" dengan nilai yang mengecualikan "3," anda boleh menggunakan pertanyaan berikut:
SELECT JSON_EXTRACT(`attribs_json`, "$.feature.1.value") AS `value` FROM `products` WHERE JSON_EXTRACT(`attribs_json`, "$.feature.1.value") NOT LIKE "%3%"
Pertanyaan ini akan mengembalikan rekod jika nilai yang dikaitkan dengan kunci "1" tidak mengandungi rentetan "3."
Tambahan Sumber
Untuk gambaran keseluruhan yang lebih menyeluruh tentang fungsi carian JSON dalam MySQL, rujuk manual rujukan MySQL rasmi:
https://dev.mysql.com/doc/refman/ 5.7/ms/json-search-functions.html
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Data JSON Dikodkan dengan Cekap dalam MySQL untuk Mengecualikan Nilai Khusus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!