【发布时间】:2015-03-22 19:35:48
【问题描述】:
我有一个场景,我必须通过 python 脚本将 python 列表存储在数据库中。我见过很多解决方案,例如将其转换为元组或删除字符串周围的引号。但它想以 python 列表格式将其存储到数据库中。
['abc@gmaill.com', 'abc2@gmail.com', 'abc3@gmail.com', 'abc4@gmail.com', 'abc5@gmail.com', 'abc6@gmail.com', 'abc7@gmail.com', 'abc8@gmail.com', 'abc9@gmail.com']
我的查询是
sql_test = "UPDATE log_messages SET unique_arguments = %s , sent_to = %s where log_id = %s " % (unique_arguments_list,email_send_to,str(log_id))
得到这个错误
syntax error at or near "["
LINE 1: UPDATE log_messages SET unique_arguments = ['abc@gmaill.com...
^
【问题讨论】:
-
显然列表的字符串表示会导致无效的 sql 语法,您必须修复它(在
"引号中包装列表可能就足够了)或找到其他有效的序列化列表的方法。 -
显然,我知道这一点,这就是为什么我在这里要求任何替代方案
-
不清楚你用的是什么数据库/python接口。
-
@MikeT python 脚本与 postgresql 数据库
-
目前还不清楚你使用的是什么python接口,例如psycopg2、pygresql、pyodbc 等
标签: python sql postgresql psycopg2