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
我正在尝试进行数据库迁移 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