如何在MYSQL中执行多次插入,每次插入都基于子查询中一组值中的每个值


How to do multiple inserts into MYSQL, each insert based on each value in a set of values from a subquery?

我正试图在整个网站上推荐一组评论,似乎我需要为每个产品插入一次评论。所以,我有100个产品,我需要做一个评论,并插入100次,每个产品一次,这样评论就会出现在网站上的任何地方(有点像Etsy。)。但是,我该怎么做呢?

(该系统基于wooccommerce。)

我会尝试我尝试过的以下代码(所有变量/列名都是正确的,但我很确定这不是这样一个查询的设置方式?

INSERT INTO wp_comments
SET comment_author = 'britney',
comment_date = '2015-11-07 07:55:02',
comment_date_gmt = '2015-11-07 07:55:02',
comment_content= 'the comment',
comment_approved = '1',
comment_parent = '0',
user_id = '2',
post_id = t.id FOR ALL ID IN
(select ID
FROM wp_posts
WHERE post_type = 'product') as t;

您需要这样做:

INSERT INTO wp_comments (
            comment_author,
            comment_date,
            comment_date_gmt,
            comment_content,
            comment_approved,
            comment_parent,
            user_id,
            post_id)
SELECT      'britney',
            '2015-11-07 07:55:02',
            '2015-11-07 07:55:02',
            'the comment',
            '1',
            '0',
            '2',
            id 
FROM        wp_posts
WHERE       post_type = 'product';