我已經開始在python中使用簡單的mysql查詢,返回表中的所有列。 出於某種原因,這個命令的工作:使用%s執行Python MySQLdb類型錯誤
cursor.execute("SHOW columns from students")
雖然所有的下列返回一個錯誤類型:
cursor.execute("SHOW columns from %s", 'students')
cursor.execute("SHOW columns from %s", ('students',))
cursor.execute("SHOW columns from %s", ['students'])
cursor.execute("""SHOW columns from %s""", 'students')
的錯誤是:
Traceback (most recent call last):
File "<pyshell#60>", line 1, in <module>
cursor.execute("SHOW columns from %s", 'students')
File "C:\Anaconda\lib\site-packages\MySQLdb\cursors.py", line 187, in execute
query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
請告知
第二種形式應該工作。你能確認具體的第二種形式的錯誤信息嗎?該示例僅顯示第一個表單的錯誤。 – Sebastian
您是否嘗試過'cursor.execute(「從(%s)顯示列」,['students'])? –
從第二一個錯誤: 回溯(最近通話最後一個): 文件 「」,1號線,在 cursor.execute( 「%s的SHOW列」,( '學生')) 文件「C:\蟒蛇\ LIB \站點包\ MySQLdb的\ cursors.py」,線路205,在執行 self.errorhandler(個體經營,EXC,值) 文件「C:\蟒蛇\ LIB \站點包\ MySQLdb的\ connections.py「36行,在defaulterrorhandler 提高errorclass,errorvalue ProgrammingError:(1064,」您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「正確的語法手冊'學生'在第1行) –
Dimgold