Я новичок в php / mysql и как проект для себя, чтобы изучать программирование, я пытаюсь создать своего рода механизм сравнения цен в php на Xampp.
В настоящее время я работаю над окончанием импорта. Я хочу импортировать торговые каналы в созданную EAV базу данных (Mariadb).Я пытаюсь переместить данные из временной (tmp) таблицы в 3 другие таблицы.Данные о торговом канале загружаются в 'tmp' и их необходимо переместить в другие таблицы.
У меня есть следующее:
tmp (временный дамп файла csv)
tmp.ean
tmp.isbn
tmp.color
tmp.dimensions
tmp.image
tmp.upc
tmp.price
tmp.stock
tmp.merchant
t1 (таблица основной информации о продукте)
t1.ean (unique)
t1.isbn
t1.upc
t2 (таблица цен и запасов)
t2.ean (FK)
t2.price
t2.stock
t2.merchant
t3 (таблица атрибутов)
t3.ean (FK)
t3.color
t3.dimensions
t3.image
В настоящее время у меня есть код для заполнения t1
Заполните t1 данными из tmp
1) Сначала я копирую столбец ean из tmp.ean в t1.ean вдобавить новые продукты.2) при втором запуске я заполняю столбцы t1.isbn и t1.upc данными из таблицы tmp, где tmp.ean = t1.ean.Эта часть работает, уникальные продукты добавляются в таблицу t1.
То, что я хочу сделать, это также добавлять данные в T2 и T3, в этих таблицах ean не уникален, так как может быть больше атрибутов на ean и болеецены (продавцы) за ean Я думаю сделать следующее:
Обновить цены / акции в t2:
1) Добавить tmp.ean в t2.ean, гдене существует EAN и Merchant.Поэтому добавьте ean, когда ean отсутствует с этим идентификатором ean и продавца. 2) Добавьте tmp.stock tmp.price в t2.stock t2.price, где tmp.ean = t2.ean AND tmp.Merchant - t2.merchant
Обновление атрибутов в t3:
1) Добавьте tmp.ean в t3.ean, где не существует EAN и t3.color (entity).Поэтому добавьте ean, когда ean отсутствует с этим атрибутом (цветом). 2) Добавьте tmp.color (значение) в t3.color, где tmp.ean = t3.ean И tmp.color = t3.color
Am iна правильном пути?Или я делаю вещи слишком сложными и есть более простой / быстрый способ сделать это, и какие команды SQL-запросов лучше всего использовать, UPDATE, INSERT, JOIN?Там может быть миллионы продуктов и много импорта, поэтому скорость станет проблемой.