Codeigniter insert if not exist and update if not Codeigniter insert if not exist and update if not codeigniter codeigniter

Codeigniter insert if not exist and update if not


First you need to check whether the user or data is exits or not. then you can perform the update and insert operation.

   $this->db->where('user_id',$id);   $q = $this->db->get('profile');   if ( $q->num_rows() > 0 )    {      $this->db->where('user_id',$id);      $this->db->update('profile',$data);   } else {      $this->db->set('user_id', $id);      $this->db->insert('profile',$data);   }

There is one more way by using mysql query

   $query = 'INSERT INTO table_name (id, name) VALUES (?, ?)     ON DUPLICATE KEY UPDATE name=VALUES(name)';

Explanation Suppose this is the table.

+----+----------+| id | name     |+----+----------+|  1 | Urfusion ||  2 | Christian|+----+----------+

now we are performing ON DUPLICATE KEY UPDATE

INSERT INTO table_name VALUES (3,'Example') ON DUPLICATE KEY UPDATE name='Example';

result is

+----+----------+| id | name     |+----+----------+|  1 | Urfusion ||  2 | Christian||  3 | Example  |+----+----------+

Example has been inserted into the table because there is no entry with the key id is there now if we are trying to insert data on the position 1 or 2 then

INSERT INTO table_name VALUES (1,'Name_changed') ON DUPLICATE KEY UPDATE name='Name_changed';

Then result is

| id | name        |+----+-------------+|  1 | Name_changed||  2 | Christian   ||  3 | Example     |+----+-------------+

For more information


$this->db->replace('profile',$data);

if exists update, else insert