我有这种形式的数据:
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)
答案 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
的正确值。