php - 如果存在数据,如何执行更新查询,否则将数据插入 Mysql?

标签 php mysql insert insert-update

我想知道如果数据存在,那么必须有 mysql 更新查询,否则将数据插入 mysql 表。

我所做的是,我正在使用 fgetcsv() 函数将数据从 .csv 文件提取到 mysql 中。 然后从 csv 中读取每一行并将这四个值放入四个变量中然后触发更新查询。 那么我如何检查如果其中一个数据不存在仍然更新查询正在工作(0 行成功更新)所以我想识别该数据并将其插入到其他表中如果数据存在我的< strong>update 查询将起作用。

我想更新或插入数据到 product_entity_price 表中。 我的脚本-:

    if(($handle = fopen("/data/sample/items_0420.csv", "r")) !== FALSE) 
    {          
         while (($data = fgetcsv($handle, 8000, ",")) !== FALSE)      
         {
        $num = count($data);
        for ($c=0; $c < $num; $c++) 
        {             
            $temp = $data;             
            $string = implode(";", $temp);           
        }
            $pieces = explode(";", $string);               
            $col1 = $pieces[0];
            $col2 = $pieces[1];         
            $col3 = $pieces[2];               
            $col4 = $pieces[3]; 

    $query_insert = "INSERT INTO import_prices (customer_id, sku, price, website) ".             
    "VALUES($col1,'$col2',$col3,'$col4') ".             
    "ON DUPLICATE KEY UPDATE customer_id=$col1, price=$col3,website='$col4' "; 
        $result = mysql_query($query_insert);

             $query_update = "UPDATE  product_entity_price pep 
             JOIN   catalog_product cp   ON    cp.entity_id = pep.entity_id    
             AND    cp.sku LIKE '$col2'   AND   website_id = $col4 
             JOIN   customer_group cg   ON    cg.customer_group_id = pep.customer_group_id   AND   cg.customer_group_code =  $col1 
SET cpetp.value = ".$col3.";";
             mysql_query($query_update);
          }
    }

最佳答案

关于php - 如果存在数据,如何执行更新查询,否则将数据插入 Mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10247653/

相关文章:

MySQL:获取最大连续出现次数

c++ - 插入 map 时的内存分配

php - 如何安装 Laravel 5.2

php - 从多个表中搜索数据

PHP mysql 固定连接到 utf8,但现在现有的希腊语数据无用

php - 非常奇怪的mysql php blog 发生

mysql - 选择....进入错误mysql

mysql - 使用另一个表的列插入到 mysql 表中

php mysql 插入/更新字段名称显示

php - php 中回显 UTF-8 的正确语法是什么?