0
我有这样的一段代码分隔值到MySQL行:添加多个逗号使用Perl
if (my $ref = $sth->fetchrow_hashref()) {
my $related_id = $ref->{'products_id'};
my $sql = "REPLACE INTO products_xsell (products_id, xsell_id)
VALUES (".$product_id.", ".$related_id.")";
$dbh->do($sql);
$c_processed++;
}
目前,该数据是这样的:
product_id product_id
9999 22
8888 21
9999 66
7777 77
9999 88
我想存储这样的数据:
product_id product_id
9999 22,66,88
8888 21
7777 77
我一直在阅读有关使用JOIN
,但似乎无法弄清楚如何做我吨。我继承了这个代码,它没有使用准备好的语句和占位符。 我希望在得到Perl的窍门后将其解决。
在尝试像这样更改数据之前,您可能需要确保熟悉该架构。你在这里的示例表看起来很像一个外键映射表(将表A中的项目映射到表B中的项目,反之亦然),如果这就是你想做的事情案件。 –
你提出的是一个非常糟糕的方式来存储数据。除非你的老板拿着枪对着你的头,迫使你以这种方式格式化数据,我建议你重新考虑你的设计。您可以在本网站上提问,了解如何格式化数据以满足您的需求。 – 2015-10-05 07:09:21