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

cơ sở dữ liệu codeigniter di chuyển sang một bảng khác

Đầu tiên, lấy nội dung của bảng đầu tiên tableFrom và lặp lại các kết quả để chèn chúng vào tableTo . Bạn có thể sử dụng mã này trong mô hình của mình. Đừng quên $this->load->database(); trong bộ điều khiển hoặc trong chức năng của bạn.

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
    }
}

@EDIT

Hãy thử mã này cho bộ điều khiển của bạn:

<?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();
    } 
}

Để sửa lỗi với mục nhập trùng lặp cho khóa 1, bạn có thể muốn cắt bớt bảng đầu tiên trước khi nhập nội dung từ bảng hai. Bạn có thể làm điều này với:

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
    }
}

Hoặc bạn có thể cập nhật các hàng thay vì chèn mới:

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. Ngày lưu trữ Redbean O / RM là varchar (255)?

  2. Cập nhật hàng loạt Mysql

  3. Mysql tự động xây dựng chuỗi truy vấn trong một thủ tục được lưu trữ dựa trên logic

  4. Mã lỗi:1822. Không thêm được hằng số khóa ngoại. Thiếu chỉ mục cho ràng buộc

  5. Phương ngữ ngủ đông cho MySQL 8?