У меня небольшая проблема SQL, мне нужно переместить некоторые данные из таблицы в новое отношение, и я боюсь, что мои знания для этого немного ограничены:
У меня есть таблица, которая выглядит так:
create table child
(
id int auto_increment primary key,
share_email varchar(255) null,
phone_number varchar(255) null
);
, и мне нужно, чтобы эти два столбца были отделены от этих дочерних таблиц:
С таблицей контактов, связанной через 'child' с отношением многие ко многим
create table contact
(
id int auto_increment primary key,
email varchar(255) not null
);
create table child_contact
(
child_id int not null,
contact_id int not null,
constraint child_contact_child_id_fk foreign key (child_id) references child (id),
constraint child_contact_contact_id_fk foreign key (contact_id) references contact (id)
);
И contact_phone связал таблицу контактов с одним ко многим
create table contact_phone
(
id int auto_increment primary key,
phone_number varchar(255) not null,
contact_id int not null,
constraint contact_phone_contact_id_fk foreign key (contact_id) references contact (id) on delete cascade
);
И я бы хотел переместить все child.share_email в новый contact.email,
и все child.phone_number для нового contact.contact_phone.phone_number.
Как вы думаете, это можно сделать за один SQL запрос?
Спасибо!