C#Mysql更新表

时间:2017-07-09 16:55:57

标签: c# mysql row

我正在尝试更新Mysql表中的最后一行。这是我到目前为止所尝试的,但问题是它更新了每一行,而不仅仅是最后一行。

 query = "UPDATE Callbacks SET UniqueID = ?UID WHERE UniqueID = (SELECT UniqueID Callbacks ORDER BY UniqueID LIMIT 1);";
                using (MySqlCommand cmd = new MySqlCommand(query, cn))
                {
                    cmd.Parameters.Add(new MySqlParameter("?UID", UID));
                    cmd.ExecuteScalar();
                }

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你必须按降序使用他的命令

UPDATE Callbacks SET UniqueID = ?UID WHERE UniqueID = (SELECT UniqueID Callbacks ORDER BY UniqueID DESC LIMIT 1);

答案 1 :(得分:1)

UPDATE Callbacks SET UniqueID = ?UID ORDER BY UniqueID DESC LIMIT 1

在MySQL 4.0及更高版本中,您可以在同一语句中使用带有ORDER BY和LIMIT的UPDATE。这应该会给你你想要的结果。注意:我将ORDER BY更改为降序(我假设您可能要做的事情)。