我有一张表posts
,看起来像这样:
id | title | body | created | ..
-------------------------------------------
我想使用MyISAM表提供的布尔搜索功能,但posts
表是InnoDB。所以我创建了另一个表'post_contents',如下所示:
post_id | body
--------------------
该表已经填充了一些内容,我可以使用布尔搜索。但是,我还需要在post_contents表中移动title字段,然后将现有的title-data复制到新字段。
我知道INSERT .. SELECT语法,但我似乎无法创建正确的查询。
答案 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
也许这对其他人有帮助:))