如何根据 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
我正在努力迁移到 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