私の問題は非常に簡単に説明できますが、正しい答えを見つけることができません!
mysql には、tA、tB、tC と呼ばれる 3 つのテーブルがあります。次のような階層アーキテクチャを持つ tA に 1 つのエントリ A、tB に 2 つのエントリ B、tC に 3 つのエントリ C があります。
A
|
----------------
| |
B1 B2
| |
-------- |
| | |
C1 C2 C3
ご想像のとおり、B エントリが A id の A エントリにリンクされ、C エントリが B id の B エントリにリンクされています。
これらのデータを次の場所にコピーしたいだけです:
A'
|
----------------
| |
B1' B2'
| |
-------- |
| | |
C1' C2' C3'
最初に、A' を作成し、A' にリンクされた B エントリをコピーすることから始めます。心配ない。
しかしその後、左結合で C エントリを C' にコピーするように要求しました。それはほぼ機能します...唯一の問題は、このように、私の C' エントリが B' id ではなく B id にリンクされていることです !!!!
他のものを試してみますが、それを行う方法がわかりません。とてもシンプルに思えます。疲れたのかな… B エントリを 1 つずつコピーし、現在の B エントリのすべての C エントリをコピーしてから、次のエントリに移動する必要があるかもしれません。
しかし、それを行うためのよりスマートな方法はありませんか? insert_id、カスケード、トリガー、外部キーで???
私はSQLの専門家ではありません。誰かが良い解決策を見つけてくれることを願っています。
事前に感謝します。
バスティアン