如何在 C# 中使用 mysql xdevapi 设置 DateTime

Posted

技术标签:

【中文标题】如何在 C# 中使用 mysql xdevapi 设置 DateTime【英文标题】:How to set DateTime using mysql xdevapi in C# 【发布时间】:2020-05-26 01:27:31 【问题描述】:

我正在尝试使用 mysqlX.XDevAPI 插入包含 DATETIME 字段的行。 无论我尝试什么,我都会得到这个神秘的信息:

令牌位置 0 处的预期令牌类型 IDENT

我试过字符串格式:

dt.ToString("yyyy-MM-dd HH:mm:ss")

我尝试过 UTC 秒格式:

((DateTimeOffset)dt).ToUnixTimeSeconds();

我也尝试过将 System.DateTime 实例作为值传递...没有任何效果,而且我找不到任何有关如何执行此简单任务的文档。

正确的格式是什么?

【问题讨论】:

您需要给我们一个更大的提示,以了解您的代码实际上是什么样的。在这一点上,任何事情都几乎是一场猜谜游戏。 minimal reproducible example 我正在尝试使用 MySqlX.XDevAPI 插入包含 DATETIME 字段的行。 - 在我看来,您以某种方式生成了无效的 MySQL SQL。您是否有引发此错误的示例插入语句? 没有 MySqlX.XDevAP 是一个黑盒子。代码实际上是这样的: return DB.Instance.Schema.GetTable(_tableName).Insert(_data.Keys.ToArray()) .Values(_data.Values.ToArray()); 如果我可以检查什么字符串语句看起来像我不会问这个问题。但是这个框架是不可能的。 如果我删除此字段,一切正常。 【参考方案1】:

想通了。显然它不喜欢该列被称为“时间”,因为它是一个保留关键字。 现在这有效: dt.ToString("yyyy-MM-dd HH:mm:ss")

【讨论】:

以上是关于如何在 C# 中使用 mysql xdevapi 设置 DateTime的主要内容,如果未能解决你的问题,请参考以下文章

MySQL XDevAPI 如何返回成功状态

无法在 Mac 上安装 php 扩展“mysql_xdevapi”

MYSQL XDEVAPI 多或(二)请求

使用 Mysql xdevapi

使用 SSL 和 X 协议的 NodeJS mysql/xdevapi '访问被拒绝'

mysql-xdevapi getCollections 承诺返回值