3

是否可以使用 WHERE 子句更新第一行。
我试过:

UPDATE TOP (1) Players SET... WHERE...

和:

UPDATE TOP 1 Players SET... WHERE

但似乎sqlite中没有TOP。我可以使用一些替代品吗?
还是我做错了什么?

4

2 回答 2

6

尝试

UPDATE Players SET... WHERE... LIMIT 1

我现在无法验证,但可能LIMIT只适用于SELECT语句。如果是这样,请执行以下操作:

UPDATE Players SET... WHERE ID in (SELECT ID FROM Players WHERE ... LIMIT 1)
于 2012-04-09T14:33:39.983 回答
0

SQLite 确实支持 TOP N 查询,但它使用LIMIT 子句来完成此操作。在任何情况下,这仅适用于 SELECT 语句,而不适用于 UPDATE。如果只想更新一行,则需要使用 WHERE 子句过滤 UPDATE。

编辑:

我的立场是正确的,看来UPDATE 语句确实支持 LIMIT 子句

于 2012-04-09T14:37:28.337 回答