Как импортировать определенные данные из файла на AWS Аврора - PullRequest
2 голосов
/ 22 января 2020

Проблема: у меня есть база данных Aurora RDS, в которой есть таблица, в которой были удалены данные для определенного столбца. У меня есть снимок БД за несколько дней go, который я хочу использовать для заполнения указанного столбца значениями из снимка. Проблема заключается в том, что определенные строки были удалены из оперативной БД, и я не хочу их снова включать.

Я хочу смонтировать снимок, подключиться к нему, а затем SELECT INTO OUTFILE S3 интересующую меня таблицу. Затем я LOAD DATA FROM S3 войду в действующую БД, выбрав только тот столбец, который меня интересует. Но я не нашел информации о том, что происходит, если количество строк отличается, а именно, если в моментальном снимке есть строки, которые были тем временем удалены из действующей БД.

Учитывает ли команда импорта столбец идентификатора при выполнении импорта? Должен ли я также импортировать столбец идентификаторов? Я не хочу воссоздавать рассматриваемые строки, я только хочу заполнить существующие строки значениями из столбца, который я хочу получить из моментального снимка.

1 Ответ

0 голосов
/ 22 января 2020

ALTER TABLE таблица назначения для добавления отсутствующего столбца. Пока он будет пуст от данных.

LOAD DATA ваш экспорт в таблицу, отличную от таблицы конечного назначения.

Затем выполните UPDATE с JOIN между пунктом назначения таблица и импортируемая таблица. В этом обновлении скопируйте значения для столбца, который вы пытаетесь восстановить.

Используя внутреннее объединение, он будет соответствовать только строкам, существующим в обеих таблицах.

...