2014-02-17 6 views
0

У меня есть эти таблицы в моей базе данных MySQL:Экспорт Excel таблицы в таблицы отношений MySQL

Пользователь (ID, имя, ID_country)

Страны (ID, COUNTRY_NAME)

И в Excel Мне как раз эта таблица:

╔════╦═════════╦═══════════╗ 
║ ID ║ Name ║ Country ║ 
╠════╬═════════╬═══════════╣ 
║ 1 ║ Yamashi ║ Japon  ║ 
║ 2 ║ Mary ║ Australie ║ 
╚════╩═════════╩═══════════╝ 

У меня есть сотня строк в excel, и я хочу экспортировать их в MySQL, используя Загрузка данных csv это будет просто, если у меня есть те же таблицы в базе данных MySQL и таблице Excel. Так что это лучший способ сделать это? Любой совет приветствуется! Благодарю.

ответ

1

Сначала загрузите все данные csv в новый временный sql (temp_table (ID, Name, Country)). то таблица для заполнения страны выполнить следующее:

INSERT INTO Countries (country_name) 
SELECT DISTINCT Country FROM temp_table 

затем заполнить таблицу пользователей с этим запросом:

INSERT INTO User (ID,Name) 
SELECT ID,Name FROM temp_table 

наконец, создать связь между странами и пользователь может делать это:

UPDATE User,temp_table,Country SET ID_country = Countries.ID WHERE User.ID = temp_table.ID AND temp_table.Country = Countries.Country 

, если все выглядит нормально, теперь вы можете безопасно удалить temp_table

DROP TABLE temp_table 
+0

Спасибо за ваш быстрый ответ, сейчас я проверю :) – 2dar

+0

не забудьте вернуться и проголосовать/принять, если это сработает для вас;) –

Смежные вопросы