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

przenoszenie bazy kodeignitera do innej tabeli

Najpierw pobierz zawartość pierwszej tabeli tableFrom i iteruj po wynikach, aby wstawić je do tableTo . Możesz użyć tego kodu w swoim modelu. Nie zapomnij $this->load->database(); w kontrolerze lub w funkcji.

function insert_into() {
    $q = $this->db->get('tableFrom')->result(); // get first table
    foreach($q as $r) { // loop over results
        $this->db->insert('tableTo', $r); // insert each row to another table
    }
}

@EDYTUJ

Wypróbuj ten kod dla swojego kontrolera:

<?php
class fdm extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this->load->library(array('table','form_validation'));
        $this->load->helper('url'); // load model
        $this->load->model('cbc','',TRUE);
    }

    function index() {
        $this->load->database();
        $this->load->model('cbc','',TRUE);

        $this->cbc->insert_into();
    } 
}

Aby naprawić błąd ze zduplikowanym wpisem dla klucza 1, możesz skrócić pierwszą tabelę przed zaimportowaniem zawartości z tabeli drugiej. Możesz to zrobić za pomocą:

function insert_into() {
    $this->db->truncate('tableTo');
    $q = $this->db->get('tableFrom')->result(); // get first table
    foreach($q as $r) { // loop over results
        $this->db->insert('tableTo', $r); // insert each row to another table
    }
}

Możesz też zaktualizować wiersze zamiast wstawiać nowe:

function insert_into() {
        $q = $this->db->get('tableFrom')->result(); // get first table
        foreach($q as $r) { // loop over results
            $this->db->update('tableTo', $r, array('id' => $r->id)); // insert each row to another table
        }
    }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz MAX lub Zamów według limitu 1

  2. szukaj z wielu tabel za pomocą jednego słowa kluczowego w mysql

  3. Zaktualizuj kolumnę w MySQL

  4. Emuluj klauzulę LIMIT MySQL w Microsoft SQL Server 2000

  5. Wykrywanie uszkodzonych znaków utf8 w MySQL