SQL 执行一个查询,然后根据结果执行另一个查询

SQL Execute a Query then execute another based on the results

我正在尝试进行数据库迁移 SQL 将数据从一个数据库传输到另一个数据库的脚本,旧数据库有大约 10-15 个表,新数据库有超过 300 个,现在我正在尝试做一次大迁移我知道所有东西需要去哪里,我只是无法根据结果弄清楚如何转移。

这是我目前得到的:

SELECT i.item_name AS `item_name` , i.item_rrp  AS `item_rrp` , i.item_web_price  AS `item_price` , p.product_image AS `product_image` FROM `table1`.`items` JOIN(
 `table1`.`items` i , 
 `table1`.`products` p
) WHERE `item_discontinued` = 0

现在有了这个结果我想做一个插入,我知道如何做插入但是我如何循环第一个查询的结果,我可以使用 PHP 但它是更可取的对于我使用完整 SQL

的速度

不需要循环,使用INSERT AS SELECT :

INSERT INTO <YourTable> (<column names .......>)
SELECT i.item_name AS `item_name` , i.item_rrp  AS `item_rrp` , i.item_web_price  AS `item_price` , p.product_image AS `product_image`
FROM `table1`.`items` JOIN(
`table1`.`items` i , 
`table1`.`products` p
) WHERE `item_discontinued` = 0