我正在尝试更新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();
}
有什么想法吗?
答案 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更改为降序(我假设您可能要做的事情)。