Как мне объединить две таблицы в MySQL?
Я просмотрел несколько других сообщений на эту тему, но они не достаточно подробно для меня.
Я начинающий пользователь MySQL, поэтому потерпите меня, у меня есть первичная таблица и временная таблица, которые выглядят так:
CREATE TABLE temp_import
(id
int (11) NOT NULL auto_increment,
Name
varchar (255) по умолчанию NULL,
MerchantID
int (11) по умолчанию NULL,
SKU
varchar (255) по умолчанию NULL,
ПЕРВИЧНЫЙ КЛЮЧ (id
)) ДВИГАТЕЛЬ = MyISAM
AUTO_INCREMENT = 765811 ПО УМОЛЧАНИЮ
CHARSET = utf8;
Я вставляю данные во временную таблицу следующим образом:
LOAD DATA LOCAL INFILE \'29762.txt\' REPLACE INTO TABLE temp_import FIELDS TERMINATED BY \'|\' OPTIONALLY ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' (Name, MerchantID, SKU);
Формат каждой таблицы одинаков, но данные со временем меняются. Некоторые позиции данные шансы, но SKU остается неизменным. Некоторые предметы больше не будут предлагаться и должны быть удалены из базы данных.
пример:
Текущая таблица базы данных:
1, dog, 101, dog101
2, cat, 101, cat101
3, chicken, 102, chicken100
4, chicken food, 102, chicken101
Новая таблица базы данных:
1, dog, 101, dog101
2, cat, 102, cat101
3, chicken, 102, chicken100
5, Frog, 103, frog101
Окончательный результат должен быть
1, dog, 101, dog101
2, cat, 102, cat101
3, chicken, 102, chicken100
5, Frog, 103, frog101
Удалена куриная еда, добавлена лягушка, обновлен кот.
Также это должно быть максимально эффективно. Я буду работать с некоторыми огромными файлами. И это может быть только MySQL код.
http://www.xaprb.com/blog/2006/02/21/flexible-insert-and-update-in-mysql/ Я посмотрел через это, но это над моей головой, когда я пытаюсь это сделать, это не работает ...