Ответ 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'
Как я могу обновить только одну запись на 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'
но мне нужно обновить только одну строку за время
вы можете использовать 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'
Пожалуйста, используйте подзапрос, работающий с первичным ключом для лучшей производительности
-- 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)
Если вы хотите обновить одну строку за раз, попробуйте добавить столбец Identity в свою таблицу, чтобы идентифицировать каждую строку.
Вы можете просто добавить LIMIT 1 в конце запроса.