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

时间:2010-03-23 12:43:50

标签: mysql copy

我有一张表posts,看起来像这样:

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

我想使用MyISAM表提供的布尔搜索功能,但posts表是InnoDB。所以我创建了另一个表'post_contents',如下所示:

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

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

我知道INSERT .. SELECT语法,但我似乎无法创建正确的查询。

2 个答案:

答案 0 :(得分:2)

你试过吗

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

或者post_contents表中的post_id列生成的方式有何不同?

答案 1 :(得分:2)

我找到了一种方法:

我将post_contents表格复制到pc并截断post_contents中的现有数据。然后我使用了那个查询

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

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