Встречается на собеседованиях • сегодня

Как с запросом SELECT определить изменилось что-либо или нет

В SQL нет прямого способа проверить, изменились ли данные после UPDATE или DELETE, но есть обходные пути:

  1. Для UPDATE можно использовать RETURNING (PostgreSQL) или OUTPUT (SQL Server):
sql
UPDATE users SET name = 'New Name' 
WHERE id = 1 
RETURNING *;
  1. В MySQL можно проверить количество затронутых строк через ROW_COUNT():
sql
UPDATE users SET name = 'New Name' WHERE id = 1;
SELECT ROW_COUNT() AS affected_rows;
  1. Альтернативно - выполнить SELECT до и после операции и сравнить результаты в коде приложения.

  2. Для INSERT можно использовать LAST_INSERT_ID() (MySQL) или RETURNING id (PostgreSQL).

В большинстве СУБД операции UPDATE/DELETE возвращают количество измененных строк, что можно использовать как индикатор изменений.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы