首页 > 解决方案 > MYSQL查询海量泵

问题描述

$sql = "INSERT INTO `coupon` SET 
                    `name` = 'FREECOUPON', 
                    `coupon_code` = '" . $this->db->escape($couponCode) . "', 
                    `discount` = '38', 
                    `uses_total` = '22', 
                    `status` = '1'
                ";

                $this->db->query($sql);

                $coupon_id = $this->db->getLastId();

                $this->db->query("INSERT INTO coupon_cat SET coupon_id = '" . (int)$coupon_id . "', category_id = 79  ");

查询有效,但我想修改它

$this->db->query("INSERT INTO coupon_cat SET coupon_id = '" . (int)$coupon_id . "', category_id = 79  ");

我想将数据“大量泵送”到coupon_cat. 我需要从 30-180 类泵,但在不同的行。知道怎么做吗?

标签: phpmysql

解决方案


如果我明白你很清楚你想将相同的 coupon_id 插入 150 个类别 ID。您可以使用循环在一个查询中插入所有行来创建所有值。

$coupon_id = (int)$this->db->getLastId();

$values = [];
for ($category_id = 30; $category_id <= 180; $category_id++) {
    $values[] = '(' . $coupon_id . ',' . $category_id . ')';
}

$this->db->query('INSERT INTO `coupon_cat` (coupon_id, category_id) VALUES ' . implode(',', $values));

推荐阅读