2017-02-04 8 views
2

Итак, я в ситуации, когда у меня есть две таблицы, которые связаны каким-то внешним ключом.SQL: выберите «Вставить с помощью идентификатора из первой колонки»

`table_a` (
    `table_id` int not null, 
    `important_value varchar(128) not null, 
); 

`table_b` (
    `table_id` int not null, 
    `table_a_id` int not null, 
) 

Я хочу, чтобы переместить important_value в table_b, который имеет ссылку на table_a.

Предполагая, что я использую следующий альтер SQL

alter table `table_b` add column `important_value` varchar(128) not null; 

Как бы я теперь вставить соответствующую important_value в table_b дал он имеет ссылку на table_a_id?

+0

Оскорбление? Разве это не слишком много уже в наши дни? – Strawberry

+0

Черт, ты меня поймал. Отредактировано для вставки! – Dominic

ответ

1

Вы можете использовать join:

update table_b b join 
     table_a a 
     on b.table_a_id = a.table_id 
    set b.important_value = a.important_value; 
+1

Это сработало отлично. У меня есть 9 минут, прежде чем я смогу принять ответ, но я обязательно вернусь. Благодаря! – Dominic

 Смежные вопросы

  • Нет связанных вопросов^_^