Вставьте две копии существующей строки через INSERT … SELECT с UNION ALL. Явно перечислите копируемые поля и не переносите уникальный автоидентификатор.
Модификация записей таблицы через SQL‑запрос
Вставьте две копии существующей строки через INSERT … SELECT с UNION ALL. Явно перечислите копируемые поля и не переносите уникальный автоидентификатор.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В таблице orders присутствует единственная запись: апельсин — 100
Составьте SQL‑запрос, который после выполнения добавит в таблицу ещё две такие же строки, чтобы в итоге было три одинаковые записи: апельсин — 100 апельсин — 100 апельсин — 100
Ответ
Вставьте две копии существующей строки через INSERT … SELECT с UNION ALL. Явно перечислите копируемые поля и не переносите уникальный автоидентификатор.
Если поля называются product и price:
INSERT INTO orders (product, price)
SELECT product, price FROM orders
UNION ALL
SELECT product, price FROM orders;
При одной исходной строке запрос добавит две и оставит всего три. Названия колонок здесь условные, их нужно заменить на реальные. UNION без ALL убрал бы одинаковые строки из результата выборки. Повторный запуск снова размножит данные, поэтому операция не идемпотентна. Уникальное ограничение на сами product/price не позволит хранить такие повторы.