gpt4 book ai didi

c# - 未处理的异常 : MySql. Data.MySqlClient.MySqlException:键 'CC2-2012-04-10-201205' 的重复条目 'PRIMARY'

转载 作者:行者123 更新时间:2023-11-30 23:31:43 26 4
gpt4 key购买 nike

我们有一个 C# 应用程序在过去 4 年里一直在三台机器上运行,其中 2 台运行 Mono,1 台运行 Windows。

最近,我们在进行修复时遇到了崩溃并更新了Windows机器。机器上的MySql是5.5.16

发布更新后,应用程序现在在标题中抛出错误“未处理的异常:MySql.Data.MySqlClient.MySqlException:键'PRIMARY'的重复条目'CC2-2012-04-10-201205'”

  • 没有一个字段是自动递增的
  • 我们正在使用 DbDataAdapter
  • sql语句是UPDATE
  • 所有索引、表结构、权限等在所有服务器上看起来都是相同的
  • table 上没有触发器
  • 我们一遍又一遍地删除和修复表和索引,但无济于事
  • 我们已经尝试过 MyIASM 和 InnoDB(我们最初使用的是 InnoDB)

我不知道更新语句如何因重复键而失败,关于我找到的最接近的解决方案是许多许多版本之前的 MySql 错误: http://bugs.mysql.com/bug.php?id=27650但这显然是许多年前修复的。

有人知道我下一步可以去哪里吗?

最佳答案

问题原来是 ADO.NET MySQL 驱动程序 (Connector/NET) 和 MySQL 服务器版本之间的版本不匹配。真的很明显。

我们使用的 ADO 驱动程序原来是一个相当旧的版本,在此期间肯定有一些重大变化。

只需升级 mysql.data.dll 即可修复一切

编辑:确认,我们使用的是非常旧的 MySql.Data ADO.NET 驱动程序版本 1.0.10.1这适用于 MySql 服务器 5.1.53 及以下版本。 (这是我们的代码仍然有效的最高服务器版本)

一旦我们升级到 MySql 服务器版本 5.5.24,所有应用程序都开始因 DataAdapter 而失败,除了出现重复记录(没有重复记录)

关于c# - 未处理的异常 : MySql. Data.MySqlClient.MySqlException:键 'CC2-2012-04-10-201205' 的重复条目 'PRIMARY',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com