无法将数据从Python列表插入SQL

时间:2018-07-17 14:14:19

标签: python sql instagram

当我在下面运行脚本时收到此错误,我能够连接到Instagram API并打印nr个关注者: mysql.connector.errors.InterfaceError:执行操作失败;无法处理参数

followers = str(followers)
followersdata = [followers]



conn = mysql.connector.connect(user='root', password='XXX',
                              host='127.0.0.1',
                              database='InstagramStore')

cursor = conn.cursor()

q = """INSERT INTO InstagramFollowers (followers) VALUES (%s)"""

cursor.executemany(q, followersdata)
conn.commit() 

3 个答案:

答案 0 :(得分:1)

您可以在一个执行中插入多个值 列出执行命令。 问题出在查询中。

首先,您应该通过以下方式设置查询格式

query = """INSERT INTO InstagramFollowers {0} VALUES ({1})""".format(followers, values)

然后您应该在列表中提供值

cursor.execute(query, list)

答案 1 :(得分:0)

您的查询格式错误。 我不知道第二个%s在您的查询中代表什么,所以我只是使用变量values来保持它的位置。

它看起来应该更像:

Python <2.6

q = """INSERT INTO InstagramFollowers (%s) VALUES (%s)""" (followers, values)

Python> 2.6

q = """INSERT INTO InstagramFollowers {0} VALUES {1}""".format(followers, values)

Python> 3.6

q = f"""INSERT INTO InstagramFollowers {followers} VALUES {values}"""

答案 2 :(得分:0)

您可以使用将列表转换为json并将json写入表中。

INSERT INTO InstagramFollowers(followers) VALUES(json.dumps(followersdata))

这应该有效。