使用if语句打开DUPLICATE KEY UPDATE

时间:2012-10-03 15:08:29

标签: php mysql duplicates

我需要从两个csv文件导入数据。

如果第二个文件包含相同的sku,则只有在价格低于价格时才应更新。

这是我的代码:

$sql = mysql_query("INSERT INTO varer (sku,productname,price,mpn,stock,distributor)  

VALUES ('$sku','$productname','$price','$mpn','$stock','$distributor')"); 

上面的代码可以正常插入数据,所以只有在相同的sku存在时才会出现问题。

这是我想要做的:

如果数据库中存在$SKU并且$pric e低于数据库中存在的价格,则应更新$price$productname$stock,{{1 }}

如果您有任何建议,请与我们联系。

1 个答案:

答案 0 :(得分:1)

来自docs

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
  ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);

似乎原始列在其名称下可用,并且要插入的值需要VALUES()函数。更新到新旧价格的最大值应该很简单:How to get the max of two values in MySQL?