Встречается на 1% собеседований по Python
Какие знаешь недостатки оператора 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
интервью вопросы и ответы