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 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失