运行两个查询,INSERT和INSERT INTO SELECT(php,mysql)

时间:2014-01-22 14:38:54

标签: php mysql

$this->db->query("INSERT INTO products 
                (name, price, description, stock) 
                VALUES ('$name', '$price', '$description', '$stock')");

$this->db->query("INSERT INTO products (category)
                SELECT id
                FROM categories
                WHERE category_name = '$category'");

如果单独运行,这些查询可以正常工作,但如何一起运行它们? 我正在尝试将产品数据添加到表中,并获取类别ID并同时插入它。

1 个答案:

答案 0 :(得分:1)

通常,您可以在SELECT

中指定硬编码值
INSERT INTO table1 (col1, col2, col3)
    SELECT id, 'string1', 'string2'
    FROM table2
    WHERE cond1 = val4;

idstring1以及string2添加到table1

的值

在你的情况下应该是

INSERT INTO products (category, name, price, description, stock)
                SELECT id, '$name', '$price', '$description', '$stock'
                FROM categories
                WHERE category_name = '$category'