MySQL - импорт данных без первичного ключа - PullRequest
0 голосов
/ 25 апреля 2018

Я разрабатываю приложение для использования в моем отделе на работе. Приложению требуется доступ к списку людей, предоставленных моей компанией.

Однако это своего рода беспорядок, поскольку моя компания не поддерживает очень чистые данные, и эту ситуацию нельзя изменить. Для краткости я буду использовать примеры таблиц с именами и тому подобное.

Вот текущий рабочий процесс получения этих данных в моей базе данных:

  1. Я получаю ежемесячный отчет в формате Excel (XLSX) от моей компании.
  2. Преобразовать отчет в CSV.
  3. Удалить все элементы из текущей [people] таблицы
  4. Импорт данных CSV в таблицу [people]

Я не могу изменить этот процесс на простые операторы UPDATE или INSERT из-за нескольких факторов:

  1. В отчетах, которые я получаю, много повторяющихся данных
  2. Каждый person может быть указан в отчете несколько раз, с небольшими различиями в данных в каждом столбце (то есть: они могут иметь несколько записей для каждого person, но с разными адресами для каждой строки).
  3. Моя компания использует два «идентификатора» для идентификации person, но они перерабатывают эти идентификаторы. Например, если человек удален из его записей, он может взять его идентификатор и присвоить его новому человеку.

Не делая всю строку PK, есть ли способ спасти эту ситуацию, чтобы создать истинную таблицу, на которую можно точно ссылаться из другой?

...