我创建了一个表格如下:
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是具有多个条目的元组列表。
这不起作用。我试过以下:
如果我从CREATE TABLE语句中删除“wordid INT(11)AUTO_INCREMENT PRIMARY KEY”并删除其中一个占位符(%s),则其工作正常。
如果我按照cursor.execute的某些帖子中的建议删除其中一个占位符(%s),则它无法正常工作(注意我必须使用“cursor.executemany”)
我甚至尝试在INSERT阶段使用wordData(Keyword,FileName),DID无效。
尝试了许多其他选项,例如在INSERT期间以及在CREATE期间输入DEFAULT,NULL,O等,都没有效果。
在MySQL中插入条目时,我可以使用cursor.executemany以及Auto_Increment和元组列表。
答案 0 :(得分:0)
解决方案很简单:
我正在使用元组元组:((' bye',' 36930001437'),(' good',' 36930001437' ),('晚上',' 36930001437'))
诀窍是使用元组列表:[(' bye',' 36930001437'),(' good',' 36930001437&#39 ;),('晚上',' 36930001437')]
通过这个简单的更改,我现在获得了Auto_Increment列,没有任何与插入值命令有关的问题。