我正在从 PHP 中读取一个 excel 文件,我正在收集我感兴趣的字段并将值保存在一个变量中以供以后构建更新。
foreach ($rowData as $key => $value) {
blah blah...
$sql2 .="(pcompra='".$pcompra."', margen='".$margen."') WHERE iduser=45 AND
referencia='".$referencia."', ";
}
到目前为止一切顺利,问题在于构建查询,因为我知道上面是错误的,我不知道如何构建它以便批量更新正常工作。
这就是我在单个查询中插入 6000 条记录的方式,但我不知道如何进行 UPDATE。
我的表有一系列字段,但其中我有:
- ID(唯一)<-但我在更新中不知道。
- 用户
- 参考 <- 根据 iduser 是唯一的
- pbuy2 <- 我想更新它
- 边距<-我想更新它
现在我有 6000 种产品要更新。如何根据 iduser 更新 6000 个产品中的 'pcompra2' 和 'margin' 字段并在一个句子中引用?
我尝试这样的事情:
UPDATE stocks
SET
(pcompra='5', margen='0.2') WHERE iduser=45 AND referencia='00257',
(pcompra='6', margen='0.1') WHERE iduser=45 AND referencia='00258',
(pcompra='2', margen='0.2') WHERE iduser=45 AND referencia='00259',
.... hasta 6000.
除了同伴的解决方案之外,我还为那些可以访问 mysql 的人发明了一个“解决方案”。
请注意,它非常不优雅但非常快。
在 PHP 中,我创建了以下循环:
这将创建 900 个(或任意数量的)UPDATE 查询并将它们显示在浏览器窗口中。
好吧,我复制并粘贴到 mysql 中,仅此而已,在 5 秒内更新了 6000 个中的 900 个。
然后是时候改变循环中的数字了。