我想将所有包含在python列表中的ID的值复制到SQLite中的新表中,如下所示:
cur.execute("INSERT INTO newtable SELECT * FROM oldtable where userid IN " + userids)
Userids是一个来自文件的列表:
userids = [line.strip() for line in open('inputfile.txt')]
但是我收到以下错误: TypeError:无法连接' str'和'列出'对象
我越来越怀疑这个包含大约15000个元素的列表对查询来说太长了(?)。如果没有查询列表中的每个id,我该如何做到这一点?
答案 0 :(得分:1)
尝试类似:
以字符串形式加入列表。
userIdsStr = ', '.join(userids)
然后执行以下操作:
cur.execute('INSERT INTO newtable SELECT * FROM oldtable where userid IN (%s)' % userIdsStr)
我希望这会有所帮助