我有一个表,一次可以输入大约 10,000-20,000 个条目。该表应该通过 ID 引用另一个表,但我还不知道该 ID 是什么,我需要使用 MySQL 查询找到它,并提供一些我知道的有关父表的信息...
这是表格的示例...
ParentTable
- id - int, primary key, auto incriment
- name - varchar
- type - varchar
ChildTable
- id - int, primary key, auto incriment
- parent_table_id - int
- name - varchar
我需要一种方法来运行这样的 MySQL 查询...
SELECT id FROM ParentTable WHERE name='SomeName' AND type='SomeType';
然后使用该 MySQL 查询的结果来填充 ChildTable,如下所示...
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 选择查询...这可以严格使用 MySQL 吗?
最佳答案
我找到了问题的答案!
SELECT id INTO @parent_id FROM ParentTable WHERE name='SomeName' AND type='SomeType';
INSERT INTO ChildTable (parent_table_id, name)
VALUES
(@parent_id, "New"),
(@parent_id, "New1"),
(@parent_id, "New2"),
(@parent_id, "New3"),
(@parent_id, "New4"),
(@parent_id, "New5"),
(@parent_id, "New6");
关于mysql - 如何运行一次 MySQL SELECT 查询并在大型插入查询中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37015097/