mysqlx python连接器NoSQL无法插入日期

Posted

技术标签:

【中文标题】mysqlx python连接器NoSQL无法插入日期【英文标题】:mysqlx python connector NoSQL can't insert date 【发布时间】:2020-07-11 10:54:59 【问题描述】:

我正在使用 mysqlx XDevAPI for python (NoSQL)。我无法在表格中插入日期。

table = my_schema.get_table("date_table")
field = "date_field"
insert = table.insert(field)
value = datetime.datetime.now()
insert.values(value)
insert.execute

我收到一个错误:

ValueError: Expected token type 19 at pos 0 but found type 72

我假设这与日期/日期时间格式有关,但我不确定如何找到标记 19 或 72 是什么。如果我尝试插入字符串或 int,我会得到同样的错误。

【问题讨论】:

MySQL的列数据类型是什么? DATETIMETIMESTAMP 或其他?在任何情况下,显然不支持直接插入 datetime 类实例,但您始终可以使用 datetime.now().isoformat() 对您的值进行字符串化,例如,它应该可以工作。 【参考方案1】:

是的。就像 Rui 说的,Connector/Python 在 X DevAPI 中不支持 Python 对象转换,需要在插入前将 datetime 转换为字符串格式。

【讨论】:

谢谢两位!我不知道如何接受 Rui 的评论作为答案。最后我偶然发现了这一点,这似乎很奇怪,因为在使用 MySQL 连接器时它坚持使用 datetime 对象。

以上是关于mysqlx python连接器NoSQL无法插入日期的主要内容,如果未能解决你的问题,请参考以下文章

解决链接器错误 MySQL 连接器/C++

通过python将弹性数据转储到csv或任何NOSQL中

python 基础 10.0 nosql 简介--redis 连接池及管道

python Nosql-redis 连接管道

MySQLx 尝试解析表达式时出错(Nodejs)

Firestore 为 noSQL 和 Flutter 复制 SQL 连接