SQL查询更新具有重复值的表中的单个记录

时间:2019-06-18 06:33:11

标签: c# mysql

我目前正在研究库存系统的In&Out模块。我需要一个SQL查询,可以在其中用重复的值更新SQL表中的一行。

到目前为止,我已经尝试使用MySQL的UPDATE语句,但是问题是它使用相同的SKU(库存单位)更新了表中的每一行。

这是我正在使用的当前代码,但是此代码更新了具有相同SKU值的所有行。

        conn = new MySqlConnection(connectionString);

        try
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                MySqlCommand cmd = new MySqlCommand("UPDATE eja.purchases SET stockonhand = stockonhand - @minusStock WHERE sku=@sku", conn);
                cmd.Parameters.AddWithValue("@minusStock", Convert.ToDecimal(dataGridView1.Rows[i].Cells[4].Value));
                cmd.Parameters.AddWithValue("@sku", dataGridView1.Rows[i].Cells[1].Value.ToString());
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
            }
        }

        catch (MySqlException e)
        {
            MessageBox.Show(e.ToString());
        }
    }

我希望输出仅更新SQL表中的一条记录。现在,它将更新SKU值相同的所有行。

0 个答案:

没有答案