私は一度に約10,000〜20,000のエントリが入っているテーブルを持っています。このテーブルは別のテーブルをIDで参照する必要がありますが、そのIDはまだわかりません。私は親テーブルについて知っているいくつかの情報を持ってMySQLクエリを使用してそれを見つける必要があります...MySQL SELECTクエリを一度実行し、それを膨大な挿入クエリで使用するにはどうすればよいですか?
テーブルの例...
ParentTable
- id - int, primary key, auto incriment
- name - varchar
- type - varchar
ChildTable
- id - int, primary key, auto incriment
- parent_table_id - int
- name - varchar
私は
SELECT id FROM ParentTable WHERE name='SomeName' AND type='SomeType';
...このようなMySQLのクエリを実行する方法が必要になり、その後、そのようChildTableを移入することMySQLのクエリの結果を使用します。 ..
INSERT INTO ChildTable (parent_table_id, name) VALUES
(previous_result, "SomeName1"),
(previous_result, "SomeName2"),
(previous_result, "SomeName3"),
(previous_result, "SomeName4000"),
(previous_result, "SomeName10000"),
(previous_result, "SomeName20000");
キャッチは、ParentTableの選択クエリを1回だけ実行したいということです。これは厳密にMySQLを使用して可能ですか?
テンポラリテーブルに行を挿入して、結合されたselectから一括挿入します。 – Andreas
私はMySQLのように大雑把なので、私はどのようにそのようなことをやってみるのか試してみるでしょうが、あなたは@Andreasのやり方を学ぶチュートリアルの提案がありますか? – Ricky
@Ricky、あなたはすべてのレコードが同じparent_table_idを持っていると言っていますか? – FLICKER