如何在 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的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Mac 上安装 php 扩展“mysql_xdevapi”