Задать вопрос
@medovuk

Как вставить ключевое поле из другой таблицы при вставке данных в другую таблицу?

Есть две таблицы: А(id, name, ....), B(id, ....). Таблица А является как бы источником информации (допустим товары с их характеристиками), таблица В сдержит доп. информацию, поле В.id - один из составных ключей. Как вставляя данные в таблицу В(1, ....), брать это id из таблицы А. Т.е А(1, "книги", ...), insert into B(id, ....) values (1, ....,)? Сделал так :
insert into В ( id, ...) values ((select id from А where Name="книги"), ....));
Если способ лучше? Данные берутся из файла в обе таблички, в А добавляется если такой записи нет, а в В всегда.
  • Вопрос задан
  • 229 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Тестировщик на Python
    9 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@x_shader
Oracle & Coffee
Раскрытие первичного ключа (ID) по альтернативному (Name) для случая загрузки данных примерно так и происходит, как вы делаете. Реализация может отличаться, но суть та же.
Предусмотрите еще некую таблицу разбора ошибок, куда будут скидываться строки, для которых совпадение по вашему "Name" не было найдено, или было найдено больше одной строки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы