Подтвердить что ты не робот

SQL Server, как обновить только одну строку в базе данных?

Как я могу обновить только одну запись на db?

Таблица:

name       name1       name2
----------------------------
xx         xy          xz
xx         xx          xx
xx         xx          xx
xx         xx          xx
xy         xx          zz

Обновить запрос:

UPDATE table1 
SET name2 = '01' 
WHERE name1='xx'

но мне нужно обновить только одну строку за время

4b9b3361

Ответ 1

вы можете использовать ROWCOUNT

SET ROWCOUNT 1

UPDATE table1 
SET name2 = '01' 
WHERE name1='xx'

SET ROWCOUNT 0

или вы можете использовать верхнюю часть обновления

UPDATE TOP (1) table1 
SET name2 = '01' 
WHERE name1='xx'

Ответ 2

Пожалуйста, используйте подзапрос, работающий с первичным ключом для лучшей производительности

-- INVALID, BUT EXPECTED: update "user" set email = '[email protected]' where email = '[email protected]' limit 1

update "user' set email = '[email protected]' where id = (select id from "user" where email = '[email protected]' limit 1)

Ответ 3

Если вы хотите обновить одну строку за раз, попробуйте добавить столбец Identity в свою таблицу, чтобы идентифицировать каждую строку.

Ответ 4

Вы можете просто добавить LIMIT 1 в конце запроса.