我正在尝试更新表的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)
注意:我正在使用缺少json函数支持的postgreSQL 9.2所以我必须在python中执行此操作
任何帮助都将不胜感激。
答案 0 :(得分:3)
使用参数化查询。永远不要直接将用户输入插入到SQL查询中,它会让您暴露于SQL注入攻击。
像这样:
> df
name Year price size performance
1 A 2001 1 1 1
2 A 2002 2 2 2
3 A 2003 3 3 3
4 B 2001 2 2 2
5 B 2002 3 3 3
6 B 2003 4 4 4
7 C 2001 3 3 3
8 C 2002 4 4 4
9 C 2003 5 5 5
以下是关于此主题的一些有用的docs。