【问题标题】:how to insert last_insert_id in sql query of csv query?如何在csv查询的sql查询中插入last_insert_id?
【发布时间】:2015-02-09 00:24:45
【问题描述】:

我正在使用 codegniter 框架将 csv 数据导入 mysql 数据库。我的数据库有两个表promotion和promotion_product.promotion表是3个字段名称promotion_id、name、start_date和end_date。promotion_id是promotion表的主键。promotion_id是自动增量。promotion_product表是5个字段id、promotion_id、sku、price ,地图。 Promotion_id 是该表的外键。我正在导入 csv 文件,这个 table.csv 字段是 sku、price 和 map。我不知道如何插入 Promotion_porduct 表的 Promotion_id。我正在使用 last_insert_id。我的代码如下:

我的模型是:

     public function save_csv($data,$data1) {

            $this->db->insert('promotion', $data1);
            $insert_id = $this->db->insert_id();
            print_r($insert_id);
            $infile = $data['upload_data']['full_path'];
            //print_r($infile);

            $sql = "LOAD DATA INFILE '" . $infile . "'
                            INTO TABLE promotion_product
                            FIELDS TERMINATED BY ','
                            OPTIONALLY ENCLOSED BY '\"' 
                            LINES TERMINATED BY '\r'
                            IGNORE 1 LINES 
                            (promotion_id,sku, price, map)";
            print_r($sql);
            $query = $this->db->query($sql);

            //var_dump($query);

            return $query;
        }

【问题讨论】:

  • 试试$this->db->insert_id()
  • 得到了 last_id 但如何插入到 csv 加载查询中
  • 哦,对不起,没看懂问题

标签: php mysql codeigniter csv


【解决方案1】:

您必须手动操作。 首先插入数据库,然后你会得到 last_insert_id,然后读取 CSV 文件并创建 CSV 数组和 last_insert_id 将该数组转储到数据库中。

【讨论】:

    猜你喜欢
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多