티스토리 뷰

728x90

구문

JSON_REPLACE(json_doc, path, val[, path, val] ...)

* json_doc : 컬럼명

* path : 변경할 값의 경로

* val : 변경할 값

 

사용예시

TB_ADDRESS 테이블의  ADDRESS_INFO 컬럼에 아래와 같은 JSON형태의 데이터가 담겨져있다. addressList의 첫번째 맵의 detail에 아무 값이 없는데, 이 값을 변경하고 싶다. 

UPDATE TB_ADDRESS
SET
ADDRESS_INFO = JSON_REPLACE(ADDRESS_INFO, '$.addressList[0].doroAddress.detail', '변경할 값')
WHERE TOKEN =#{token}

 

그런데 아래에도 detail이 있고, 도로명주소와 지번주소의 차이이기 때문에, 위의 detail을 수정해주었으면 아래의 detail도 같이 수정해줘야한다. 그때는 간단히 한번 더 써주면 된다.

UPDATE TB_ADDRESS
SET
ADDRESS_INFO = JSON_REPLACE(ADDRESS_INFO
		, '$.addressList[0].doroAddress.detail', '변경할 값'
		, '$.addressList[0].jibunAddress.detail', '변경할 값')
WHERE TOKEN =#{token}

더 자세한 사항은 아래 홈페이지에서 확인하면 된다.

https://database.guide/json_replace-replace-values-in-a-json-document-in-mysql/

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함