簡體   English   中英

Python TypeError - MySQL executemany

[英]Python TypeError - MySQL executemany

我正在使用MySQLdb模塊插入我的數據庫。 我有以下代碼

      sqlString = """INSERT INTO PERFORMER (PERFORMER)
                     VALUES (%s)
                     WHERE NOT EXISTS (SELECT * FROM PERFORMER P
                                       WHERE P.PERFORMER = %s)"""
      data = [(c, c) for c in self._performers]
      self._cursor.executemany(sqlString, data)

基本上我想插入self._performers條目(這只是一個名稱列表),這些條目不在PERFORMERS表中。 但我得到以下TypeError

TypeError: not all arguments converted during string formatting

完整的痕跡

Traceback (most recent call last):
File "tvGuide.py", line 437, in <module>
        processing.UpdatePerformers()
File "tvGuide.py", line 307, in UpdatePerformers
        self._cursor.executemany(sqlString, data)
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 246, in executemany
        self.errorhandler(self, TypeError, msg)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
        raise errorclass, errorvalue TypeError: not all arguments converted during string formatting

self._performers列表很長,但這里是前幾個條目的示例

['Lucy Alexander', 'Martin Roberts', 'Alistair Appleton', 'Zak Bagans', 'Aaron Goodwin', 'Nick Groff', 'John Zaffis', 'Ellen Pompeo', 'Patrick Dempsey',

+1到Nacho,TypeError有點像redherring,使用帶有VALUES子句的WHERE是違法的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM