Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cập nhật một hàng, nhưng chèn nếu hàng không tồn tại trong bộ mã

Đầu tiên Chọn tất cả image_id từ bảng.

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

Liệt kê image_id vào một mảng.

$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')
)

Kiểm tra xem image_ids có tồn tại không:

$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. Cách hiển thị đối chiếu máy chủ trong MySQL

  2. Người chọn người trúng thưởng vé xổ số PHP

  3. ĐẶT một biến trong câu lệnh SELECT - MySQL

  4. MySQL / InnoDB và các truy vấn chạy dài

  5. Không thể chọn vị trí ip =inet_pton ($ ip)