在SQL查询中传递Python列表并存储为列表

时间:2015-03-22 19:35:48

标签: python sql postgresql psycopg2

我有一个场景,我必须通过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...
                                                ^

1 个答案:

答案 0 :(得分:1)

这应该有效。您没有将列表字符串括在引号中。

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))