Встречается на собеседованиях • сегодня
Как с запросом SELECT определить изменилось что-либо или нет
В SQL нет прямого способа проверить, изменились ли данные после UPDATE или DELETE, но есть обходные пути:
- Для UPDATE можно использовать
RETURNING(PostgreSQL) илиOUTPUT(SQL Server):
sql
UPDATE users SET name = 'New Name'
WHERE id = 1
RETURNING *;- В MySQL можно проверить количество затронутых строк через
ROW_COUNT():
sql
UPDATE users SET name = 'New Name' WHERE id = 1;
SELECT ROW_COUNT() AS affected_rows;-
Альтернативно - выполнить SELECT до и после операции и сравнить результаты в коде приложения.
-
Для INSERT можно использовать
LAST_INSERT_ID()(MySQL) илиRETURNING id(PostgreSQL).
В большинстве СУБД операции UPDATE/DELETE возвращают количество измененных строк, что можно использовать как индикатор изменений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы