🟡 Средний · 2 очк. PostgreSQL
Что делает INSERT ... ON CONFLICT DO UPDATE (upsert)?
A Обновляет все записи
B Вставляет или обновляет при конфликте уникального ключа
C Игнорирует дубликаты
D Создаёт новую таблицу
Объяснение вопроса

ON CONFLICT реализует upsert: если INSERT нарушает unique constraint (указанный в ON CONFLICT (column)), выполняется ветка DO UPDATE вместо ошибки. В DO UPDATE можно ссылаться на вставляемые значения через псевдотаблицу EXCLUDED. DO NOTHING просто пропускает вставку при конфликте.

INSERT INTO users (email, name) VALUES ($1, $2)
ON CONFLICT (email) DO UPDATE SET name = EXCLUDED.name
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.