Встречается на собеседованиях • сегодня
Какие знаешь недостатки оператора UPSERT
UPSERT (UPDATE or INSERT) оператор, реализуемый через INSERT ... ON CONFLICT в PostgreSQL или REPLACE/INSERT ... ON DUPLICATE KEY UPDATE в MySQL, имеет несколько недостатков:
- Производительность – при частых конфликтах может быть менее эффективен, чем отдельные INSERT/UPDATE, из-за дополнительных проверок на конфликт.
-
Ограниченная гибкость – условия конфликта обычно ограничены первичными или уникальными ключами, сложные условия требуют обходных путей.
-
Побочные эффекты – в MySQL
REPLACEфактически удаляет и вставляет строку, что может вызвать каскадные удаления или триггеры.
Пример PostgreSQL:
sql
-- Если email существует, обновит name, иначе вставит новую запись
INSERT INTO users (email, name)
VALUES ('test@example.com', 'Alice')
ON CONFLICT (email)
DO UPDATE SET name = EXCLUDED.name;В SQLite аналогичный синтаксис, но в других СУБД могут быть нюансы реализации.

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