python - 如何使用 mysql-connector 检索日期时间值?

标签 python mysql mysql-connector-python

我正在尝试检索名为 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/

相关文章:

python - 异常值: 'User' object has no attribute 'update' thrown in DJANGO ORM

Python 列表理解中的一项出现不需要的 UnicodeDecodeError 异常

MySQL - 这个查询有什么问题?

php - PDO 在一条语句中绑定(bind)多个值

python - 使用 python 中的 mysql 连接器从 mysql 数据库正确获取 blob

python - 如何在Python中正确安装MySQL模块

python - 单击最小化按钮时触发pyqt事件

python - 如何通过 Rust PyO3 从 Whisper transcribe python API 中提取文本

php - 如何通过php中的复选框删除多行

mysql - PyMySQL 可以用作 Python 的 MySQL/Connector 的直接替代品吗?