将json插入mysql。 json字符串是从json.dumps获得的

时间:2012-07-16 04:31:23

标签: python mysql json

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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\"}