代码之家  ›  专栏  ›  技术社区  ›  harpax

MySQL:将字段复制到另一个表

  •  3
  • harpax  · 技术社区  · 14 年前

    我有张桌子 posts 看起来像这样:

      id  |  title  |  body  |  created  | ..
    -------------------------------------------
    

    我想使用myisam表提供的布尔搜索功能,但是 帖子 表是InnoDB。因此,我创建了另一个表“post_contents”,如下所示:

      post_id  |  body
    --------------------
    

    该表已经填充了一些内容,我可以使用布尔搜索。但是,我也需要移动post-contents表中的title字段,然后将现有的title数据复制到新字段。

    我知道插页……选择语法,但我似乎无法创建正确的查询。

    2 回复  |  直到 14 年前
        1
  •  2
  •   MJB    14 年前

    你试过了吗

    insert into post_contents (post_id, body) select id, body from posts;
    

    或者post-contents表中的post-id列的生成方式不同?

        2
  •  2
  •   harpax    14 年前

    我找到了一种方法:

    我复制了 post_contents 表到 pc 并截断 张贴内容 . 然后我用了那个问题

    INSERT INTO post_contents (post_id, title, body, created, modified) 
    SELECT post.id, post.title, pc.body, pc.draft, pc.created, pc.modified 
    FROM posts 
    INNER JOIN pc ON post.id = pc.post_id
    

    也许这对其他人有帮助:)