MySQL JSON_MERGE / REPLACE.값을 실제로 업데이트하고 병합하지 않는 방법
제가 하고 싶은 일, 하지만 그것은 다소 불가능한 것 같습니다.
번역을 저장하기 위한 JSON 데이터를 열에 가지고 있습니다.예: 열 설명 값:{"de": "hi wie gehts?", "en": "hi, how are you?"}
이제 업데이트만 하려고 합니다."en"
소유물.로 가능하다는 것을 압니다.JSON_REPLACE
하지만 이것을 실현하기 위해서는 먼저 SQL 코드를 생성해야 하는 이상한 구문을 가지고 있습니다.
제가 찾고 있는 것은 그냥 보낼 수 있는 가능성입니다.{"en": "hi, how are you!?"}
그리고 나서 그것은 유지될 것입니다."de"
속성 및 업데이트만"en"
소유물.
있습니다.JSON_MERGE
기능합니다. 하지만 이것은 제가 찾고 있는 것이 아닙니다. 하지만 그것을 제외하고는, 그것이 제가 사용하는 구문입니다.
중첩된 mysql 함수 등에 대한 해결 방법이 있습니까?
JSON 기능을 사용할 수 있으면 필요한 것을 달성하기가 쉽지 않습니다.일반 JSON에 항상 단일 키가 있는 경우 다음과 같은 방법을 사용할 수 있습니다(MySQL 5.7.19에서 테스트됨).
SET
@`json` := '{"de": "hi wie gehts?", "en": "hi, how are you?"}',
@`plain_json` := '{"en": "hi, how are you!?"}';
SELECT
JSON_MERGE(
JSON_REMOVE(
@`json`,
CONCAT('$.',
JSON_EXTRACT(
JSON_KEYS(@`plain_json`),
'$[0]'
)
)
),
@`plain_json`
) AS `update`;
그 결과:
+----------------------------------------------------+
| update |
+----------------------------------------------------+
| {"de": "hi wie gehts?", "en": "hi, how are you!?"} |
+----------------------------------------------------+
만약 당신이 평범한 JSON에 하나 이상의 열쇠를 가지고 있다면, 당신은 당신의 목표를 달성하기 위해 더 복잡한 것이 필요할 것입니다.
db-fiddle을 참조하십시오.
언급URL : https://stackoverflow.com/questions/45863825/mysql-json-merge-replace-how-to-actually-update-values-and-not-merge
'programing' 카테고리의 다른 글
"col-xs-*"이 Bootstrap 4에서 작동하지 않음 (0) | 2023.08.18 |
---|---|
SmtpClient를 사용하여 C#을 통해 HTML 전자 메일 보내기 (0) | 2023.08.18 |
쿼리 중에 MySQL 서버에 대한 연결 끊김' 오류가 자주 발생하는 이유(시간 초과 발생, 쿼리 전 ping) (0) | 2023.08.13 |
Swift UI @ 바인딩 초기화 (0) | 2023.08.13 |
jQuery를 사용하여 Yes(예) 또는 No(아니오) 확인 상자 (0) | 2023.08.13 |