JSON 열이 있는 MySQL 5.7.12 데이터베이스에 테이블이 있습니다.
열의 데이터 구조는 다음과 같습니다(json 배열에는 여러 json 개체가 포함될 수 있음).
[{"ste": "I", "tpe": "PS"}, {"ste": "I", "tpe": "PB"}]
값 변경을 UPDATE
查询,将tpe=PB
的ste
프로그래밍하고 싶습니다.
이것은 나의 시도입니다:
更新用户SET ext = JSON_SET(JSON_SEARCH(ext, 'one', 'PB', NULL, '$**.tpe'), '$.tpe', 'A');
쿼리의 출력은 다음과 같아야 합니다.
[{"ste": "I", "tpe": "PS"}, {"ste": "A", "tpe": "PB"}]
작동하지 않습니다. 열을 다음과 같이 업데이트합니다.
"$[0].tpe"
어떻게 작동하게 만들 수 있나요?
편집
이것이 더 의미가 있다고 생각하지만 여전히 구문에 문제가 있습니다
으아아아
이것이 여전히 필요하기를 바랍니다.
JSON_SET
中使用变量路径。使用JSON_SEARCH
来获取变量路径,然后用绝对路径tpe
替换为ste
에서 해당 값을 업데이트해 보세요. 나에게 효과적입니다!