-5
我在下面的查詢中收到錯誤。有人可以幫助確定錯誤嗎?此UPDATE語句是否有效?它給我SQL中的錯誤
UPDATE TOP(1) Customers SET FirstName = 'ted' where LastName = 'Miller'
我在下面的查詢中收到錯誤。有人可以幫助確定錯誤嗎?此UPDATE語句是否有效?它給我SQL中的錯誤
UPDATE TOP(1) Customers SET FirstName = 'ted' where LastName = 'Miller'
在更新聲明中不能說UPDATE TOP(1)
。
如果您有多行LastName = 'Miller'
,但只想更新最上面的一行,則需要在where
子句中指定更多條件,直到只返回一行。
說了這麼多,這可能是你在找什麼:
UPDATE Customers
SET FirstName = 'ted'
WHERE Id IN (
SELECT TOP 1 Id
FROM Customers
WHERE LastName = 'Miller'
)
我推斷你行有一個Id
場或一些其他領域的唯一標識Customer
行。如果不這樣做,那麼你就會遇到比這個UPDATE語句更大的問題。另外,因爲我沒有在子查詢中指定ORDER BY
(並且你沒有在你嘗試的UPDATE
聲明中),所以哪一行是「最高的」是完全任意的。你會得到更可靠的結果如果你包括一個ORDER BY
到告訴它如何確定哪一行是「頂部」。
請發佈錯誤。如果您有錯誤,您的聲明肯定無效。 – Peter
「有人可以幫助識別錯誤」 - 錯誤幾乎肯定會幫助您識別它/幫助 - 例如錯誤*數字*或錯誤*消息*。這些都明顯缺席你的問題。你不只是收到一條消息,說'錯誤',沒有別的。 –
究竟是什麼錯誤?請[編輯]你的問題並粘貼確切的錯誤信息。 –