Mysql
 sql >> база данни >  >> RDS >> Mysql

CodeIgniter update_batch без замяна на предишните данни, следващата актуализирана стойност ще бъде поставена със запетая, разделена като увеличение

Добавя към полето на таблицата t_franchise_price вместо презаписване.

Промяна:

$this - > franchise_price_model - > batchTestupdate($postData);

До:

$this->franchise_price_model->batchTestupdate($postData, 2);

Променете метода на вашия модел на този:

public function batchTestupdate($data = [], $method=1){
    $db_table = $this->db->dbprefix($this->table_test);
    $sql = "";

    if($method == 1){
        $this->db->update_batch($this->table_test, $data , 'test_id');
    }
    else if($method == 2){
        foreach($data as $k=>$v){
            $sql = "UPDATE $db_table SET t_franchise_price = TRIM(BOTH ',' FROM CONCAT(COALESCE(t_franchise_price,''), ',', ?)) WHERE test_id = ?;";
            $result = $this->db->query($sql, array($v['t_franchise_price'], $v['test_id']));
            if($result === false) {
                echo "ERROR at index $k - query: ((".$this->db->last_query()."))<br/><br/>\n\n";
                print_r($this->db->error()); echo "<br/><br/>\n\n";
            }
        }
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL, CONCAT, резултатът е нулев след известно време

  2. Предупреждение за Unicode:Сравнението за равенство на Unicode не успя да преобразува и двата аргумента в Unicode

  3. Задълбочен поглед върху индексирането на база данни

  4. Уникален идентификатор на MySQL или комбиниран идентификатор

  5. Нуждаете се от помощ за оптимизиране на MySQL заявка с няколко присъединявания