0
我們有'jsonData'列(longtext)中包含JSON的Student表。 我們需要改變json中「isHandicapped」字段的值。如何在MySQL中的JSON條件更新字段?
結構:
{
"data": {
"schoolData": {
"studentListe": [
{
"student": {
"studentId": 111749,
"isHandicapped": false
}
}
],
},
}
}
舊數據: 「isHandicapped」:假
新價值: 「isHandicapped」: 「NO」
這應該是有條件更新至於真的,我們需要改變價值
舊數據: 「isHandicapped」:真
新價值: 「isHandicapped」: 「JA」
主表的字段是ID。
我得到了下面的SQL查詢的相同,但無法瞭解如何添加有條件更新,如果值是true放JA別的NO:
update Student
set data = JSON_SET(data, "'$."data"."schoolData"."studentListe"[*]."isHandicapped", "?")
where id = 2;
在studentListe不工作的多個值 – fatherazrael
UPDATE SET學生$ .isHandicapped = 'NO' WHERE JSON_SEARCH(數據「, '$ 「數據」。 「schoolData」。 「studentListe」[*]。 「isHandicapped」='假'; 或 其中JSON_EXTRACT(data,「'。」data「。」schoolData「。」studentListe「[*]。」studentId「)= 111749 –