这个SQL executemany命令出了什么问题?

时间:2015-07-21 23:22:00

标签: python mysql sql sql-server insert

我在python脚本中使用sql_connection executemany命令一次将数百或数千行加载到我的表中。我这样做的代码如下:

try:
            items = []
            global jsontuple
            for tup in jsontuple:
                items.append(tup)
            global tweet_count
            stmnt = "INSERT INTO tbltweet" " (id,text,posted,username,retweetCount,link,friends,followers,partisanship)"" VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)"
            sql_cursor.executemany(stmnt, items)
            sql_connection.commit()
            num_tweets = len(jsontuple)
            tweet_count += num_tweets
except:
            sql_connection.rollback()

全局jsontuple是一个元组元组,其中每个组成元组都包含insert语句中引用的变量。由于executemany查询需要数据采用列表类型格式,因此我将每个元组放在jsontuple中并将其附加到名为items的列表中。然后我执行executemany查询。

问题是,我几乎每次调用此函数都会得到回滚(但是,有时函数执行没有问题)。我设置的方式有什么不对?我进行了三重检查,以确保SQL表格中的格式与我在脚本中生成的查询一致。我还尝试使用元组元组作为命令的数据,而不是将其转换为列表,但结果完全相同。

谢谢!

0 个答案:

没有答案