这是我的代码:
now = datetime.datetime.now().replace(microsecond=0)
curs.execute("SELECT name, msgDate, FROM test where msgDate=%s",(now))我得到了这些消息:
File "C:\Python\lib\site-packages\mysql\connector\cursor.py", line 220, in _process_params
res = list(map(to_mysql,res))
TypeError: 'datetime.datetime' object is not iterable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\projectse\Email\src\a.py", line 65, in <module>
curs.execute("SELECT name, msgDate FROM messages where msgDate=%s",(now))
File "C:\Python\lib\site-packages\mysql\connector\cursor.py", line 300, in execute
stmt = operation % self._process_params(params)
File "C:\Python\lib\site-packages\mysql\connector\cursor.py", line 225, in _process_params
"Failed processing format-parameters; %s" % e)
mysql.connector.errors.ProgrammingError: -1: Failed processing format-parameters;
'datetime.datetime' object is not iterable有什么建议吗?
发布于 2014-06-08 03:53:53
我认为你应该替换:
curs.execute("SELECT name, msgDate, FROM test where msgDate=%s",(now))通过以下方式:
curs.execute("SELECT name, msgDate, FROM test where msgDate=%s",%(now))并将其用于时间变量:
import time
now=time.strftime('%Y-%m-%d %H:%M:%S')如果您想知道为什么会出现问题,请尝试查看python解释器中now = str(datetime.datetime.now().replace(microsecond=0))的样子。
发布于 2014-06-08 10:42:53
now = datetime.datetime(2012, 2, 23, 0, 0)
now.strftime('%m/%d/%Y')
curs.execute("SELECT name, msgDate, FROM test where msgDate=:now",dict(now=str(now))
please try converting date to string format and executehttps://stackoverflow.com/questions/24100991
复制相似问题