Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zaktualizuj wiersz, ale wstaw, jeśli wiersz nie istnieje w codeigniter

Najpierw wybierz wszystkie image_id z tabeli.

$data = $this->db->select(`image_id`)->get($this->table_name)->result_array();

Umieść image_id w tablicy.

$image_ids=array();

foreach($data as $key => $value):

$image_ids[$key]=$value[`image_id`];

endforeach;

$update = array(
   array('image_id' => 1, 'name' => 'Party Gustav'),
   array('image_id' => 2, 'name' => 'Peter'),
   array('image_id' => 3, 'name' => 'Lisa')
)

Sprawdź, czy image_ids istnieją:

$update_query= $this->db->where_in(`image_ids`,$image_ids)
               ->get($this->table_name)->result();

if($update_query->num_rows() > 0):

  $this->db->update_batch($update,$this->table_name);//update if ids exist
else
   $this->db->insert_batch($update,$this->table_name);//insert if does not exist
endif;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pobieranie wartości, które nie istnieją w tabeli mysql

  2. Odejmij miesiąc i dzień mysql

  3. liczba duplikatów mysql

  4. Jak wybrać najdłuższy „ciąg” z tabeli podczas grupowania?

  5. odpowiednik mysql while loop Break