dongtiao0657 2012-10-03 15:08
浏览 86

使用if语句打开DUPLICATE KEY UPDATE

I need to import data from two csv files.

If the second file contain same sku it should only update if price is lower than price exist.

Here is my code:

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

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

Above code works fine for just inserting data so problem is only if same sku will be there.

Here is what i want to do:

If $SKU exists in database and $price is lower than price exist in database it should update $price, $productname, $stock, $distributor

Please let me know if you have any suggestions.

  • 写回答

1条回答 默认 最新

  • dsour68888 2012-10-03 15:11
    关注

    From the docs

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

    Seems like the original colum is available under its name, and the values to be inserted need the VALUES() function. Updating to the max of new and old price should be easy: How to get the max of two values in MySQL?

    评论

报告相同问题?

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据