Php 如何使用codeigniter中的查询生成器类缩短此查询
我使用本机Php 如何使用codeigniter中的查询生成器类缩短此查询,php,mysql,database,codeigniter,codeigniter-3,Php,Mysql,Database,Codeigniter,Codeigniter 3,我使用本机php查询将内容从一个表移动到另一个表,在使用Codeigniter之后,我对使用最适合我需要的查询生成器类感到困惑: $this->db->query('INSERT INTO t_pr (ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry) SELECT ID_PR,no_pr,dept,pr_date,pr_crea
php
查询将内容从一个表移动到另一个表,在使用Codeigniter
之后,我对使用最适合我需要的查询生成器类感到困惑:
$this->db->query('INSERT INTO t_pr (ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry)
SELECT ID_PR,no_pr,dept,pr_date,pr_create_date,product_name,qty,uom,Remarks,status_line,status_pr,data_entry FROM t_pr_temp');
你不能。ActiveRecord和QueryBuilder不支持插入…选择功能
使用纯SQL,您总是可以比通过任何抽象层(例如ORM、ActiveRecord、QueryBuilder等)做更多的事情,因为不同的DB服务器具有不同的本机功能。使用Codeigniter QueryBuilder,您可能希望这样使用它:
$this->db->insert_batch( 't_pr ', $this->db->get('t_pr_temp') );
这个链接可能会有帮助:您的查询是正确的,正如上面所说的,也是正确的。你所做的只是一个变通办法。据我所知,CI没有这个功能。