CI 框架批量添加数据(如果数据库有就更新数据)

Posted sgm4231

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CI 框架批量添加数据(如果数据库有就更新数据)相关的知识,希望对你有一定的参考价值。

model:

   public function insert_select($values)
      {
        $sql = ‘INSERT INTO ‘ . $this->_table_name .
            ‘(article_id,user_id,share_link,short_link,read_price,created_at,updated_at) VALUES ‘ . $values
            . ‘ ON DUPLICATE KEY UPDATE article_id=values(article_id),user_id=values(user_id),share_link=values(share_link),
            read_price=values(read_price),created_at=values(created_at),updated_at=values(updated_at);
        $query = $this->db->query($sql);
        return $query;
      }

controllers:

批量添加的数据$res数组是:

技术图片

     
//拼接sql
     $sql
= ‘‘; foreach ($res as $key => $val) { $sql .= ‘(‘ . $val[‘article_id‘] . ‘,‘ . $val[‘user_id‘] . ‘,‘ ."‘". $val[‘share_link‘] ."‘".‘,‘ ."‘". $val[‘short_link‘] ."‘". ‘,‘ . $val[‘read_price‘] . ‘,‘."‘" . $val[‘created_at‘] ."‘". ‘,‘."‘" . $val[‘updated_at‘] ."‘" . ‘)‘.(($key)+1==count($res)?‘‘:‘,‘); } $arr = $this->share_record_model->insert_select($sql);

以上是关于CI 框架批量添加数据(如果数据库有就更新数据)的主要内容,如果未能解决你的问题,请参考以下文章

保存时需检查缓存中的数据在数据库中如果没有就就添加,有就更新,原来有而现在没有的就删除

Thinkphp怎么批量更新数据

Thinkphp怎么批量更新数据

on duplicate key update 的使用(数据库有就修改,没有就添加数据)

017.CI4框架CodeIgniter数据库操作之:Updata更新修改一条数据

如何使用实体框架更新批量数据?