php - 如何在csv查询的sql查询中插入last_insert_id?

标签 php mysql codeigniter csv

我正在使用 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 , map 。 Promotion_id 是该表的外键。我正在导入 csv 文件,此表.csv 字段是 sku、价格和 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;
        }

最佳答案

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

关于php - 如何在csv查询的sql查询中插入last_insert_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407270/

相关文章:

javascript - 将数据从数据库插入谷歌图表 codeigniter

api - Elliot Haughin API 验证凭据错误

php - 使用数据表列出 select/selectall 行以通过脚本选择行,那么我如何设置/获取所选行的动态 ID

php - 如何使用 json 值在 codeigniter where 子句中获取记录

java - 如果我来自 PHP/Java,在学习 C++ 时会遇到什么问题?

PHP 引号内引号

mysql - 如果一个表中的主 ID 位于另一表中,如何更新该表中的列

php - 显示数据库中存储的图像

.net - MySql - 如何诊断连接被拒绝的原因?

mysql - 启用 MySQL 日志记录