我正在尝试检索名为 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
值的行?
最佳答案
您收到此错误是因为您接收的是 datetime
作为对象。因此,为什么错误显示 'datetime.datetime object
没有属性“split”。您正在尝试在对象上运行基于字符串的方法。
首先尝试使用 str()
将结果中的数据转换为字符串。然后在其上运行您的函数。
关于python - 如何使用 mysql-connector 检索日期时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58643467/