将包含多个项的列表插入mysql数据库

2024-10-03 21:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个清单:

list = [('name1', 'id1', 'created_at1'),('name2', 'id2', 'created_at2'),('name3', 'id3', 'created_at3')]

我想用MySQLdb把它放到一个Mysql数据库中,结果是这样的:

^{pr2}$

我试过这样的方法:

for s in list:
   var_string = ', '.join('?' * len(s))
   query_string = 'INSERT INTO TweetsTest VALUES (%s);' % s
   cursor.execute(query_string, varlist)

但它不起作用。我怎样才能做到这一点?在


Tags: stringmysqlquerylistid3id2createdmysqldb
1条回答
网友
1楼 · 发布于 2024-10-03 21:31:44

这应该做到:

sql = ("INSERT INTO TweetsTest "
       "(Name, ID, Created_at) VALUES ")

for item in list:
    sqlRow = "('%s', '{1}', '{2}'), ".format(item[1], item[2]) % item[0]
    sql += sqlRow

sql = sql[:-2] + ";"
cursors.execute(sql)

以上所有这些都意味着这3个字段都是基于字符串的,因此for循环中的引号。对于所有数字字段-删除引号。在

相关问题 更多 >