我正在尝试从一个名为players的表中检索一行,该表包含一个名为lastheal的列,类型为datetime。我的代码如下:
import mysql.connector
import datetime
class Player():
def __init__(self, name):
conn = mysql.connector.connect(host="xxxx", database="xxxx", user="xxxx", passwd="xxxx")
c = conn.cursor(prepared=True)
c.execute("""SELECT * FROM players WHERE nameplayer = %s""", (name,))
for player in c:
print player我可以轻松地从不包含datetime值的其他表中检索行。但是,上面的代码会产生以下错误:
File "~/player.py", line 14, in __init__
for player in c:
File "~/.local/lib/python2.7/site-packages/mysql/connector/cursor.py", line 1245, in fetchone
return self._row_to_python(row, self.description)
File "~/.local/lib/python2.7/site-packages/mysql/connector/cursor.py", line 1231, in _row_to_python
row = self._connection.converter.row_to_python(rowdata, desc)
File "~/.local/lib/python2.7/site-packages/mysql/connector/conversion.py", line 407, in row_to_python
result[i] = self._cache_field_types[field_type](row[i], field)
File "~/.local/lib/python2.7/site-packages/mysql/connector/conversion.py", line 506, in _DATETIME_to_python
(date_, time_) = value.split(b' ')
AttributeError: 'datetime.datetime' object has no attribute 'split'如何让mysql.connector以正确的方式检索带有datetime值的行?
发布于 2019-10-31 20:46:02
您收到此错误是因为您将datetime作为对象接收。这就是为什么错误说'datetime.datetime object没有'split‘属性。您正尝试在对象上运行基于字符串的方法。
尝试首先使用str()将结果中的数据转换为字符串。然后在上面运行你的函数。
https://stackoverflow.com/questions/58643467
复制相似问题