Я почесал голову над этим, надеясь, что один из вас, добрые люди, направит меня к решению этой проблемы.
У меня есть таблица клиентов mysql, она содержит много данных, но для решения этого вопроса нам нужно беспокоиться только о 4 столбцах: «ID», «Имя», «Фамилия», «Почтовый индекс»
Проблема в том, что в таблице много дублированных клиентов.
Создается новая таблица, в которой каждый клиент уникален, и для нас мы решаем, что уникальный клиент основан на имени, фамилии и почтовом индексе
Однако (это важный бит) нам нужно убедиться, что каждая новая «уникальная» запись клиента также может быть сопоставлена с исходными несколькими записями этого клиента в исходной таблице.
Я считаю, что лучший способ сделать это - иметь третью таблицу с NewUniqueID, OldCustomerID. Таким образом, мы можем найти в этой таблице «NewUniqueID» = «123», и она при необходимости вернет несколько значений «OldCustomerID».
Я надеюсь заставить это работать с использованием триггера и синтаксиса ключа на дубликате. Итак, что произойдет так:
Запрос выполняется, беря старую таблицу клиентов и вставляя ее в новую уникальную таблицу. (Стандартный запрос на вставку Select)
При дублировании ключа продолжайте добавлять записи, но добавьте одну запись в третью таблицу, отметив «NewUniqueID», который дублировался вместе со «OldCustomerID» записи, которую мы пытались вставить.
Надеюсь, это имеет смысл, мои извинения, если неясно.
Я приветствую и ценю любые мысли по этому поводу!
Большое спасибо
Jason