0

(MySQL)「サブスクリプション」テーブルを「製品」、「サブスクリプション」、「実際」の 3 つの新しいテーブルに移行しようとしています。「実際」は実際の製品、たとえばニュースレターの名前です。サブスクリプションには製品への FK 参照があり、実際にはサブスクリプションへの FK 参照があります。

私は、INSERT INTO SELECTステートメントがおそらく多くのテーブルから 1 つにデータをコピーできることを知っています。私の場合、反対の1対多のテーブルを実行するステートメントはありますか?

4

2 に答える 2

0

あなたが望むことをするSQLステートメントを知りません。いくつかの INSERT INTO SELECT を次々に実行するだけです。いずれにせよ、一度に 1 つずつ実行する方が速い場合があります。

于 2010-12-12T18:07:41.397 に答える
0

selectステートメントに3つの個別の挿入を使用できると思います。最初に製品テーブルを変換してから、埋め込み選択を使用して製品テーブルで ID を検索できるサブスクリプションを変換します。

insert into subscription (some_column, FK_id,...)
select something, (select id from product where <your where clause>),... 

最後に、埋め込み選択を使用して実際のテーブルを変換し、サブスクリプション テーブルから ID を取得します。

于 2010-12-12T13:33:55.383 に答える