如何使用 mysql-connector 检索日期时间值?
How to use mysql-connector to retrieve a datetime value?
我正在尝试从名为 players
的 table 中检索一行,其中包含一个名为 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
我可以轻松地从其他 table 中检索不包含 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()
将结果中的数据转换为字符串。然后运行你的函数就可以了。
我正在尝试从名为 players
的 table 中检索一行,其中包含一个名为 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
我可以轻松地从其他 table 中检索不包含 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()
将结果中的数据转换为字符串。然后运行你的函数就可以了。