MySQL批量修改-根据多条id修改对应字段

MySQL根据多条id维护对应字段-批量修改
//取出 market_price 表中的json数据,然后找出json数据中需要的字段
//根据 id 维护 market_price 表中的 min_price 字段
$result = Db::name('market_price')->column('market_price_data', 'id');
        $sql = 'UPDATE market_price SET min_price = CASE id ';
        foreach ($result as $id => $market_price_data){
            $min_price = 0;
            $market_price_data = json_decode($market_price_data, true);
            if($market_price_data){
                $prices = array_column($market_price_data, 'price');
                array_multisort($prices, SORT_ASC, $market_price_data);
                $min_price = $prices[0];
            }
            $sql .= ' when ' . $id . ' then ' . $min_price;
        }
        $sql .= ' end where id > 0';
//        $sql .= ' end where id in (' . implode(',', array_keys($result)) . ')';
        $res = Db::query($sql);

你可能感兴趣的:(mysql,数据库)