Лайт Ягами
Искусственный Интеллект
(309767)
1 год назад
А в чём заключается проблема, например, построчно скриптом выбрать каждую запись, проверить, есть ли она в новой таблице, если есть - получить её id, если нет - вставить и получить last insert id, затем во вторую новую таблицу вставить case с нужным id, полученным на предыдущем шаге? Да, это будет за O(n * log n), если у тебя индексы в БД есть на поля (title, name), или O(n * n) в худшем случае, но не думаю, что у тебя там много данных в таблицах.
Хотя навскидку подозреваю, что это можно и двумя SQL-запросами сделать, но лень придумывать решение
skins - первая таблица которая должна быть на выходе
skins_case - вторая таблица которая должна быть на выходе
В первую таблицу (skins) нужно перенести все строки у которых title и name уникальны, и убрать столбец case.
Во второй (skins_case) чуть сложнее, нужно перенести только параметры case:
Из первого столбца (skins) нужно получить значения id (id = AUTO_INCREMENT) и записать какой id в каком кейсе находится.
Вот пример:
Входные данные (items): Выходные данные (skins, skins_case):
skins —
skins_case —