PostgreSQL v9.4.12를 사용 중이며 jsonb 열을 업데이트하려고합니다. 개체의 특정 키가 아닌 전체 json 개체를 업데이트하려고합니다.작은 따옴표가 들어있는 json으로 PostgreSQL의 jsonb 필드를 업데이트하십시오.
파이썬 dict
을 사용하여 객체를 저장하고 사용하기 전에 json.dumps()
을 사용하여 json 형식의 문자열로 변환합니다. 그러나 json의 값은 업데이트를 시도하는 동안 psycopg2.ProgrammingError: syntax error
을 던지는 작은 따옴표 '
이 있습니다.
는 지금까지, 나는 시도했다 : new_data
내 DICT하고 jsonb_column
는 JSON 데이터를 보관하는 컬럼의 이름입니다
"UPDATE table "
"SET jsonb_column='{} ".format(json.dumps(new_data)) + ""
"WHERE id='12345'"
하는 것으로.
오류 내가 갖는 :
psycopg2.ProgrammingError: syntax error at or near "s"
LINE 1: ...code": "BR3", "short_description": "This property's price is...
^
내가 json.dumps()
는 작은 따옴표를 탈출하지만 그런 경우가 될 것 같지 않습니다 가정했다. 이 오류를 극복 할 수있는 해결책이 있습니까?
미리 감사드립니다.
jsonb? .. 9.3? 확실합니까? –
죄송합니다. 제가 사용하고있는 9.4.12입니다. – christinabo
문자열 안의 '{}'는 간단한 위치 형식입니다. https://pyformat.info/ – christinabo