MySQL 和 Python:Auto_Increment 不适用于 cursor.executemany()
MySQL and Python: Auto_Increment Not Working with cursor.executemany()
我创建了一个 table 如下:
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")
我什至尝试在插入阶段使用 wordData(Keyword, FileName),但没有用。
尝试了许多其他选项,例如在 INSERT 和 CREATE 期间放置 DEFAULT、NULL、O 等,none 有效。
出路是什么,我可以在 MySQL.
中插入条目时使用 cursor.executemany 以及 Auto_Increment 和元组列表
解决方法很简单:
我正在使用元组的元组,例如:(('bye', '36930001437'), ('good', '36930001437'), ('night', '36930001437'))
诀窍是使用元组列表:[('bye', '36930001437'), ('good', '36930001437'), ('night', '36930001437') ]
通过这个简单的更改,我现在得到的 Auto_Increment 列在插入值命令方面没有任何问题。
我创建了一个 table 如下:
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")
我什至尝试在插入阶段使用 wordData(Keyword, FileName),但没有用。
尝试了许多其他选项,例如在 INSERT 和 CREATE 期间放置 DEFAULT、NULL、O 等,none 有效。
出路是什么,我可以在 MySQL.
中插入条目时使用 cursor.executemany 以及 Auto_Increment 和元组列表解决方法很简单:
我正在使用元组的元组,例如:(('bye', '36930001437'), ('good', '36930001437'), ('night', '36930001437'))
诀窍是使用元组列表:[('bye', '36930001437'), ('good', '36930001437'), ('night', '36930001437') ]
通过这个简单的更改,我现在得到的 Auto_Increment 列在插入值命令方面没有任何问题。