如何根据 select 结果插入 mysql table

How to insert into mysql table based on select results

我正在努力迁移到 wordpress 并想通过 MySQL 更新一些 post 标签,因为它比创建 PHP 脚本更优雅。

我希望在 table 中对 select 语句中的所有结果进行基本插入:

INSERT INTO wp_term_relationships (object_id, term_taxonomy_id, term_order)
VALUES  
    (SELECT wp_posts.ID as topicID
        FROM wp_posts
        WHERE post_parent = 51521),'28','0';

这会引发错误:

Error : Subquery returns more than 1 row

我假设它只期望一个结果,但是我想对 select 中返回的所有 50 多条记录进行插入。

我先尝试做 select,但并不开心。

如果我找不到 SQL 解决方案,我将不得不创建一个迁移脚本,但对于这样一个简单的命令来说似乎有点过分了。

INSERT INTO wp_term_relationships (object_id, term_taxonomy_id, term_order)
SELECT wp_posts.ID, '28','0'
FROM wp_posts
WHERE post_parent = 51521