Процедура MySQL для загрузки данных из промежуточной таблицы в другие таблицы. Нужно разделить многозначное поле в процессе
Я пытаюсь экспортировать данные из многозначной базы данных (Unidata) в MySQL. Допустим, мои исходные данные были идентификатором человека, его именем и всеми состояниями, в которых он жил. Поле состояний является полем с несколькими значениями, и я экспортирую их так, чтобы различные значения в этом поле разделялись ~. Пример выдержки выглядит так:
"1234","Sally","NY~NJ~CT"
"1235","Dave","ME~MA~FL"
"3245","Fred","UT~CA"
"2344","Sue","OR"
Я загрузил эти данные в промежуточную таблицу
Table:staging
Column 1: personId
Column 2: name
Column 3: states
Я хочу разделить эти данные на две таблицы, используя процедуру: таблицу лиц и таблицу состояний. Человек может иметь много записей в таблице состояний:
Table 1: persons
Column 1: id
Column 2: name
Table 2: states
Column 1: personId
Column 2: state
Моя процедура берет данные из промежуточной таблицы и просто выводит их в таблицу 1. Тем не менее, я немного растерялся, как разделить данные и отправить их в таблицу 2. У Салли должно быть три записи в таблице состояний (Нью-Йорк, Нью-Джерси, Коннектикут), у Дэйва будет 3, у Фреда будет 2 и у Сью будет 1 (ИЛИ). Есть идеи, как этого добиться?