首页 > 解决方案 > MySQL python 连接器| executemany() 并且替代方法无法执行

问题描述

我正在尝试将大量行快速插入下表:

    CREATE TABLE word
                (word_id int(10) PRIMARY KEY AUTO_INCREMENT ,
                 word_txt VARCHAR(40) NOT NULL UNIQUE)

使用 executemany() :

query = "INSERT IGNORE INTO word (word_txt) VALUES (%s)"
try:
   self.cursor.executemany(query,word_list)
except ...

word_list 是单个字符串元组的列表。例如:word_list = [('cases',), ('regard',), ('disregard',), ...]

执行时接口错误返回:“没有要从中获取的结果集”。

使用替代方法:

query = f"INSERT IGNORE INTO word (word_txt) VALUES {words}"
try:
    self.cursor.execute(query)
except

根据MySQL,执行后语法无效。与之前的 words 相同的是单个字符串元组的列表。调试时(字符串)变量“query”的值:

query = INSERT IGNORE INTO word (word_txt) VALUES [('tire',), ('object',), ('really',), ...,('these',), ('regarded',)]

将不胜感激任何帮助。

标签: mysqlpython-3.x

解决方案


推荐阅读