在 MySQL 中使用子查询进行多次插入

Multiple inserts using subquery in MySQL

我有 2 个 MySQL 表:wp_posts 和 wp_postmeta。我想在 wp_postmeta 中插入多个值,这些值由 wp_posts.

返回的行数决定

我正在使用这个查询:

INSERT INTO
  wp_postmeta (post_id, meta_key, meta_value)
VALUES
(
  (SELECT ID
   FROM wp_posts
   WHERE
     post_title
   LIKE '%lorem ipsum%'
   AND post_status = 'publish'
   ), '_tribe_ticket_header', 11719
);

这个查询的objective是在wp_postmeta中多次插入子查询中给定的ID,一个固定的字符串和另一个固定的id。

查询返回:子查询 returns 多于 1 行。

我该怎么做?

使用 INSERT...SELECT 语句从另一个表中插入数据。

试试这个:

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID, '_tribe_ticket_header', 11719
FROM wp_posts
WHERE post_title LIKE '%lorem ipsum%' AND post_status = 'publish'