【问题标题】:Multiple inserts using subquery in MySQL在 MySQL 中使用子查询进行多次插入
【发布时间】:2016-03-25 08:38:14
【问题描述】:

我有 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
);

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

查询正在返回:子查询返回多于 1 行。

我该怎么做?

【问题讨论】:

    标签: mysql sql select insert bulkinsert


    【解决方案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'
    

    【讨论】:

    • 非常感谢 Saharsh :)
    猜你喜欢
    • 2012-09-12
    • 2015-05-02
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 2015-05-14
    • 2012-12-16
    相关资源
    最近更新 更多