Переместить информацию столбцов таблицы в новое отношение многие ко многим - PullRequest
1 голос
/ 09 апреля 2020

У меня небольшая проблема 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 запрос?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...