我试图更新一个表的json列,但由于json中的一个值只有一个引号,所以被卡住了。
我的json字符串如下所示
{"keyword": "women's shoes"}
这是我的密码。
criteria_str = json.dumps(criteria) sql_str = """update user_saved_search_backup set criteria = '%s'::json where id = %d;""" % (criteria_str, id) write_cursor.execute(sql_str)
注意:我使用的是postgreSQL 9.2,它缺少json函数支持,所以我必须用python来实现
任何帮助都将不胜感激。
使用参数化查询。永远不要直接将用户输入插入到SQL查询中,这会使您面临SQL注入攻击。
像这样:
sql_str = """update user_saved_search_backup set criteria = %s::json where id = %s;""" write_cursor.execute(sql_str, (criteria_str, id))
以下是一些有用的 docs 关于这个话题。