MySQL和Python:Auto_Increment不使用cursor.executemany()

时间:2017-08-26 15:16:26

标签: python mysql pymysql executemany

我创建了一个表格如下:

    cur.execute("""CREATE TABLE IF NOT EXISTS worddata(
               wordid INT(11) AUTO_INCREMENT PRIMARY KEY,
               Keyword VARCHAR(100) NOT NULL,
               FileName VARCHAR(100));""")

然后使用:

执行它
     cur.executemany("INSERT INTO worddata VALUES(%s, %s, %s)", wordData)

其中wordData是具有多个条目的元组列表。

这不起作用。我试过以下:

  1. 如果我从CREATE TABLE语句中删除“wordid INT(11)AUTO_INCREMENT PRIMARY KEY”并删除其中一个占位符(%s),则其工作正常。

  2. 如果我按照cursor.execute的某些帖子中的建议删除其中一个占位符(%s),则它无法正常工作(注意我必须使用“cursor.executemany”)

  3. 我甚至尝试在INSERT阶段使用wordData(Keyword,FileName),DID无效。

  4. 尝试了许多其他选项,例如在INSERT期间以及在CREATE期间输入DEFAULT,NULL,O等,都没有效果。

  5. 在MySQL中插入条目时,我可以使用cursor.executemany以及Auto_Increment和元组列表。

1 个答案:

答案 0 :(得分:0)

解决方案很简单:

我正在使用元组元组:((' bye',' 36930001437'),(' good',' 36930001437' ),('晚上',' 36930001437'))

诀窍是使用元组列表:[(' bye',' 36930001437'),(' good',' 36930001437&#39 ;),('晚上',' 36930001437')]

通过这个简单的更改,我现在获得了Auto_Increment列,没有任何与插入值命令有关的问题。