私は2つの古いテーブルを持っていて、2つの新しいテーブルを「同期」したい(または新しいテーブルを設定したい)...そのように:
tbl_old_event_categories (id、タイトル)
tbl_old_events (id、タイトル、cat_id)
tbl_new_event_categories (id、カテゴリ)
tbl_new_events (event_id、イベント、category_id)
問題は、新しいテーブルにすでに値が含まれている可能性があることです。したがって、IDは変更されます(おそらく)。ON DUPLICATE KEY UPDATE を使用できないためです。:( レコードごとに個別にチェックする必要があります。テーブルは一意ではありません (それを変更することはできません)。:/
取得する JOIN を作成しました:
tbl_old_fullevents (イベント、カテゴリ) //ID なし (整数)、名前のみ (文字列)
しかし、既存の [イベント] および [カテゴリ] 値をチェックして INSERT INTO [tbl_new_events] を作成する方法は? それは次のようなものです:
IF(tbl_old_fullevents.event は IN(tbl_new_events.events) ではありません) { INSERT INTO new_events 値( NULL、//ID tbl_old_fullevents.event, IF(tbl_old_fullevents.category IN(new_event_categories.categories)) { new_event_categories.id //一致 } そうしないと { INSERT INTO new_event_categories 値 ( NULL、//ID old_fullevents.category ); new_event_categories.id //最後の INSERT-ID } ); }