Теория· 10 мин· 15 XP
INSERT и RETURNING
sql
-- Одна строка
INSERT INTO categories (name, parent_id)
VALUES ('Планшеты', 1);
-- Несколько строк
INSERT INTO categories (name, parent_id) VALUES
('Наушники', 1),
('Умные часы', 1);
RETURNING: получаем результат вставки
RETURNING возвращает строки, которые были вставлены. Это удобно для получения автогенерированных ID:
sql
INSERT INTO categories (name, parent_id)
VALUES ('Планшеты', 1)
RETURNING id, name, parent_id;
Вы получите строку с реальным id, который PostgreSQL присвоил записи.
INSERT ... ON CONFLICT
sql
INSERT INTO customers (email, first_name, last_name, city)
VALUES ('user@mail.ru', 'Иван', 'Иванов', 'Москва')
ON CONFLICT (email) DO NOTHING;
Если email уже существует — вставка игнорируется.
Практика
В следующем уроке вы попрактикуетесь с INSERT ... RETURNING.
Важно для тренажёра: все DML-задания используют
RETURNING, чтобы тренажёр мог сравнить результаты выполнения запроса с эталонным.
Прочитайте урок до конца — прогресс засчитается автоматически