从Python中将随机数据存储在Postgres数据库中

时间:2017-02-27 06:05:55

标签: postgresql postgresql-9.4

我有这种形式的数据:

  

data = {' [{" info":" No"," uid":null," links": ["";,""]," task_id":1,"创建":" 2017-02-15T09 :07:09.068145"," finish_time":" 2017-02-15T09:07:14.620174","校准":null,&#34 ; user_ip":null," timeout":null," project_id":1," id":1}]',&#39 ; uuid':你' abc:def:ghi'}

我想将这些数据存储在Postgres数据库中。我有这个问题:

    quer1='UPDATE table_1 SET data = "%s" WHERE id = "%s" '%(data1,id)
    db_session.execute(quer1)
    db_session.commit()

此查询确实执行但不会在db中存储任何内容。数据的数据类型是' text'。我无法把我弄错的地方。请帮忙。

编辑:: 我将查询更新为:

  

quer1 =' UPDATE table_1 SET data ="%s" WHERE hitid =%s'%(data1,id)

1 个答案:

答案 0 :(得分:0)

首先,从不使用%str.format在您的查询中插入值!!!

假设您使用的是psycopg2,您的查询应使用以下格式:

db_session.execute('UPDATE table_1 SET data = %s WHERE id = %s', (data1, id))

正如@groteworld所提到的,data = {1,2,'3',[4],(5),{6}}不是有效的Python。 我假设您在实际代码中使用data的正确值。