Python TypeError: not enough arguments for format string

今天使用mysqldb執行query語句的時候,在執行這條語句的時候:python

select  PROJ, DATE_FORMAT(MAX(DATE),'%Y-%m-%') AS MAXDATE, DATE_FORMAT(MIN(DATE),'%Y-%m-%d') AS MINDATE FROM 
(SELECT resource.PROJ,`day`.DATE FROM resource,`day` where resource.MAC=`day`.MAC ORDER BY PROJ) AS PROJSET GROUP BY proj

出現一下錯誤:mysql

Python TypeError: not enough arguments for format string


根據錯誤提示順藤摸瓜找到病症:linux

在python擴展包mysqldb下的cursors.py有這麼一處代碼寫法已通過時。sql

原來的的寫法如圖:ubuntu

咱們只須要把函數

query = query % args 修改成 query = query.format(args)

總結:這個mysqldb是我在ubuntu16.04版本的linux經過apt-get install安裝的,可是也出現mysqldb裏一些過期的寫法。spa

舊版本的寫法基本能知足一些基本的sql的語句執行,可是像上面的sql語句裏使用了max,min等mysql系統函數的同時,又code

使用了data_format函數,這樣query % args 就不能使用了。orm

另附別人的忠告:Note that the % syntax for formatting strings is becoming outdated. If your version of Python supports itblog

相關文章
相關標籤/搜索