PHP/Mysql 在现有表中插入多行以进行 csv 输出

标签 php mysql csv

我正在从现有的 mysql 数据库创建一个特定格式的表,以便我可以将其作为 csv 文件导出到我的 woocommerce 网站。

我可以为每个产品创建一行(没有变化的简单产品),但是我在使用可变产品时遇到问题(每个产品需要几行)。

下图显示了表中 3 个产品(3 个不同的 ParentSKU)的示例

table

我需要做的是为每个 ParentSKU 创建一个新行,其中包含每个变体的公共(public)信息。 即 14615 多出 1 行,14622 多出 1 行,14624 多出 1 行。

我有大约 1000 行需要像这样插入。

下面是我首先在表中插入行的方法:

$Query2 = "INSERT INTO Website ( `ParentSKU`,`SKU`,`Brand`,`ProductName`,`Images`)

SELECT  ID,ID,Brand,Style,MainLink

FROM    StockAccount,Stock_Items

WHERE   StockAccount.ID=Stock_Items.ID_Product AND
    Stock_Items.Name='' AND
    Stock_Items.Returned='' AND
    StockAccount.LAXS='Yes' AND
    StockAccount.MainLink!=''

GROUP BY Size,MainLink

ORDER BY `ID`
";

我知道如何一次插入一行,但找不到有关我的特定问题的任何信息。

最佳答案

使用 SELECT DISTINCT 为每个 ParentSKU 获取单行,同时使用 ParentSKU 作为 SKU在新行中。

INSERT INTO WebSite (ParentSKU, SKU, Brand, ProductName, Images)
SELECT DISTINCT ParentSKU, ParentSKU, Brand, ProductName, Images
FROM WebSite

关于PHP/Mysql 在现有表中插入多行以进行 csv 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818232/

相关文章:

php - VB.net + mySQL + md5 哈希建议

php - 检查 GET 中是否传递了任何变量

javascript - 发送 JSON stringify 到 PHP 如何读取它

mysql - 表 1 包含名字和姓氏,表 2 包含两列引用表 1 上的名称

php - 为什么从 php 到 mysql 的插入有时会错误处理问号,但从命令行从来没有?

python - 属性错误 : 'file' object has no attribute 'DictReader'

php - 根据日期回显下一个即将开始的_start

MySQL查询-多个having语句不起作用

python - 使用 pandas.read_csv 读取某些列

python - 将 Fernet key 写入文本文件会生成字节字符串而不是 ASCII 字符串