首页 > 解决方案 > C# MySQL 更新查询工作但并非总是如此

问题描述

这个问题很奇怪,我不确定到底是什么原因造成的。下面的示例代码中显示的更新查询在 60% 的时间内有效,但有时它根本不起作用。没有异常或错误。我尝试调试,当查询不起作用时,它只返回 0 表示没有更新任何行。但是,该行存在,如果我在 phpmyadmin 上尝试或再次运行此代码,它会以某种方式工作。我还尝试使用简单的 UPDATE 查询而不是 INSERT ON DUPLICATE KEY UPDATE 但仍然得到相同的行为。

如果有人可以建议我更好的方法,将不胜感激。

    MySqlConnection remoteConnection;

    string connectionString = "SERVER=" + server + ";" + "DATABASE=" + db + ";" + "UID=" + username + ";" + "PASSWORD=" + pass + ";";
    remoteConnection = new MySqlConnection(connectionString);
    remoteConnection.Open();
    string query = $"INSERT INTO WebServers (Ip,Status,Error,Visible) VALUES('{serverStatus.Ip}', '{serverStatus.Status}', '{serverStatus.Error}','0') ON DUPLICATE KEY UPDATE Status='{serverStatus.Status}', Error='{serverStatus.Error}', Visible='0'";
    MySqlCommand mySqlCommand = new MySqlCommand(query, remoteConnection);
    int i = mySqlCommand.ExecuteNonQuery();
    remoteConnection.Close();

标签: c#mysqlmysql-connector

解决方案


尝试 mySqlCommand.Connection.Open(); int i = mySqlCommand.ExecuteNonQuery();


推荐阅读