是否可以使用 WHERE 子句更新第一行。
我试过:
UPDATE TOP (1) Players SET... WHERE...
和:
UPDATE TOP 1 Players SET... WHERE
但似乎sqlite中没有TOP。我可以使用一些替代品吗?
还是我做错了什么?
尝试
UPDATE Players SET... WHERE... LIMIT 1
我现在无法验证,但可能LIMIT
只适用于SELECT
语句。如果是这样,请执行以下操作:
UPDATE Players SET... WHERE ID in (SELECT ID FROM Players WHERE ... LIMIT 1)
SQLite 确实支持 TOP N 查询,但它使用LIMIT 子句来完成此操作。在任何情况下,这仅适用于 SELECT 语句,而不适用于 UPDATE。如果只想更新一行,则需要使用 WHERE 子句过滤 UPDATE。
编辑:
我的立场是正确的,看来UPDATE 语句确实支持 LIMIT 子句。