既存の webapp (PHP/MySQL) に取り組んでいるときに、この時点に到達しました。名前と型 ID を格納する 2 つのテーブルがあります。それらの間の関係は N<---->NI であり、その間に別のテーブルがあります。(写真参照)
描かれていない「カテゴリ」という最後のテーブルがあります。私がしなければならないことは、id_category=1 を持つ契約と顧客を、id_category=3 を持つ同じ値を持つ契約と顧客に複製することです。それらの間の関係を複製するだけでなく。
これまでのところ、次を使用して、すべての契約と顧客を別々に複製することができました。
INSERT INTO contract (t_name, id_category) SELECT t_name,'3' WHERE id_category=2
INSERT INTO customer (t_name, id_category) SELECT t_name,'3' WHERE id_category=2
(「id」フィールドは自動インクリメントされているため、問題ありません)。
しかし、関係をコピーすることについて、私は問題を取る方法を理解できません。
追加情報:
- 一時テーブルの使用は問題ありませんが、テーブルの既存の構造を変更することはできません。
- 契約には 0 ~ N 人の顧客が含まれる場合があります。顧客は 0 から N までの契約を持つことができます。
- 厳密な MySQL を使用することも、PHP を使用することもできます。