python - 将json插入mysql。 json 字符串是从 json.dumps 中获取的

标签 python mysql json

问题在于将 json 字符串插入 MySQL 数据库。 在我的 python 程序中,我通过 json.dumps(d) 获得了 json,其中 d 是一个字典。插入代码是:

        query = ("INSERT INTO bm_triesJsons VALUES (%s, %s, %s);"%
                 (article_id, revision_number, jsn))
        print query
        cur.execute(query)

看起来问题是引号,引号前面没有转义符号。 我该如何解决这个问题?

最佳答案

在进行查询时对值使用参数化方法。驱动程序将处理转义:

query = "INSERT INTO bm_triesJsons VALUES (%s, %s, %s);"
cur.execute(query, (article_id, revision_number, jsn))

如果你想直接和手动访问 MySQLdb 使用的转义函数,你可以这样做:

c = MySQLdb.connection()
print c.escape_string('{"foo":"bar"}')
# {\"foo\":\"bar\"}

关于python - 将json插入mysql。 json 字符串是从 json.dumps 中获取的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498107/

相关文章:

mysql - 限制顾客购买

MySQL如何添加超过24的2次:00 hours

json - jackson throw 失误

python - 根据输入列索引拆分和合并 Pandas 数据框

python - 声明式 SQLAlchemy 中的具体化路径关系

python - django - 无法使用同一用户多次保存模型

mysql - Bash 检查 mysql 命令是否失败

JSON 解析器 -java.lang.NoSuchFieldError : defaultReader

json - 将 JSON 嵌套到 DataFrame

python - Matplotlib : quiver and imshow superimposed, 如何设置两个颜色条?