Как объединить две таблицы в 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,
PRIMARY КЛЮЧ (id
) ) ENGINE=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/ Я просмотрел это, но это выше моей головы, когда я пытаюсь это сделать, это не работает. ..