일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 파이썬
- 딕셔너리
- itertools
- ceil
- mysql
- 외래키
- datetime
- project euler
- Codeforces
- 에라토스테네스의 체
- SUM
- timestamp
- BOJ
- 큰 수 나누기
- floor
- FOREIGN KEY
- Dictionary
- 자료구조
- 2557
- 리스트 컴프리헨션
- 소수
- 네이밍
- python
- 세그먼트 트리
- enumerate
- list comprehension
- convention
- flask
- lower_case_table_names
- SUM()
Archives
- Today
- Total
늒네 기록
[postgresql] json 필드에 작은 따옴표가 있을때 insert하기 본문
우리에게 json_field라는, json형식의 칼럼이 들어있는 mytable이라는 테이블이 주어져있다고 하자. 예시 상황이니 다른 칼럼들을 신경쓰지 말고, 아래 sql문이 에러 없이 돌아가는 테이블이라고 치자.
1
2
3
4
5
6
7
8
9
|
INSERT INTO mytable (json_field)
VALUES (
'{
"title": "hello",
"content": "never mind",
"date": "2020-11-21",
"tags": ["diary", "2020-11"]
}'
);
|
cs |
대강 상황을 만들어보자면, 우리는 테이블에 제목, 내용, 날짜, 태그가 들어있는, 게시글 같은 걸 저장하려 한다고 해보자. 그렇다면, 여기서 제목을 "I'm here!" 같이, 작은 따옴표가 들어가도록 지어서 테이블에 넣으려고 하면 어떻게 될까?
1
2
3
4
5
6
7
8
9
|
INSERT INTO mytable (json_field)
VALUES (
'{
"title": "I'm here!",
"content": "error!",
"date": "2020-11-21",
"tags": ["diary", "2020-11"]
}'
);
|
cs |
당장 위의 코드를 시각화할때 사용한 color scripter에서부터, I 옆의 작은 따옴표 뒤로 색이 달라져버린 것을 볼 수 있다. 즉, json 값을 감싸는 작은따옴표가 끊어져버린 것. 이런 경우에는 어떻게 작은 따옴표를 살릴 수 있을까?
답은, 작은 따옴표를 입력하고 싶으면 작은 따옴표를 연이어 두개를 사용하는 것. 아래와 같이 쓰면 된다.
1
2
3
4
5
6
7
8
9
|
INSERT INTO mytable (json_field)
VALUES (
'{
"title": "I''m here!",
"content": "error!",
"date": "2020-11-21",
"tags": ["diary", "2020-11"]
}'
);
|
cs |
이렇게 하면 원하는 대로 json 필드를 insert할 수 있음을 확인할 수 있다.
반응형
'DB 공부 기록 > postgresql' 카테고리의 다른 글
[postgresql] 칼럼 순서 바꾸기 (0) | 2020.10.03 |
---|---|
[postgresql] mysql의 auto increment 기능과 유사한 serial (0) | 2020.10.03 |
Comments