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

时间:2012-04-19 20:30:02

标签: c# mysql exception

我们有一个C#应用程序,它已经在三台机器上工作,2台运行Mono,1台在过去的4年里成功运行Windows。

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

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

  • 没有字段是自动递增的
  • 我们正在使用DbDataAdapter
  • sql语句是UPDATE
  • 所有索引,表格结构,权限等在所有服务器上显示相同
  • 表格上没有触发器
  • 我们已经一遍又一遍地删除并修复了表和索引
  • 我们尝试了MyIASM和InnoDB(我们最初使用InnoDB)

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

任何人都有什么想法,我可以在下一步看看?

1 个答案:

答案 0 :(得分:0)

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

我们使用的ADO驱动程序是一个相当老的版本,同时肯定会有一些重大变化。

只需升级mysql.data.dll即可修复所有内容

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

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