Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Elemen dengan Cekap dalam Tatasusunan JSON dalam MySQL?
Mencari Tatasusunan JSON dalam MySQL
Andaikan anda mempunyai jadual MySQL dengan lajur JSON bernama "data" yang mengandungi tatasusunan. Anda ingin mendapatkan semula semua baris dengan salah satu elemen tatasusunan lebih besar daripada 2.
Pertanyaan
SELECT * from my_table WHERE JSON_EXTRACT(data, '$[*]') > 2;
mengembalikan hasil yang salah kerana ia sentiasa menilai kepada benar, tanpa mengira nilai tatasusunan .
Untuk mencari integer dalam tatasusunan:
JSON_CONTAINS('[1,2,3,4,5]','7','$') # Returns: 0 JSON_CONTAINS('[1,2,3,4,5]','1','$') # Returns: 1
Kepada cari rentetan dalam tatasusunan:
JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') # Returns: 1 JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') # Returns: 0
Untuk senario anda, gunakan pertanyaan:
SELECT * from my_table WHERE JSON_CONTAINS(data, '2', '$');
Pertanyaan ini memilih semua baris di mana lajur "data" mengandungi tatasusunan dengan unsur lebih besar daripada 2.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen dengan Cekap dalam Tatasusunan JSON dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!