【问题标题】:How to shorten this query by using the query builder class in codeigniter如何使用 codeigniter 中的查询构建器类来缩短此查询
【发布时间】:2017-08-08 04:28:58
【问题描述】:

我有一个使用本机 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');

【问题讨论】:

标签: php mysql database codeigniter codeigniter-3


【解决方案1】:

你不能。 ActiveRecord 和 QueryBuilder 不支持INSERT...SELECT 功能。

使用纯 SQL,您总是可以比通过任何抽象层(例如 ORM、ActiveRecord、QueryBuilder 等)做更多的事情,因为不同的数据库服务器具有不同的本机功能。

【讨论】:

    【解决方案2】:

    使用 Codeigniter QueryBuilder 你可能想这样使用它:

    $this->db->insert_batch( 't_pr ', $this->db->get('t_pr_temp') );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多