我们有一个包含Q&A插件的WordPress网站,需要将其移至其他托管服务器。Q&A帖子仅占Posts表总数的一小部分,因此我想使用SQL查询将其过滤掉。
我想通过PhpMyAdmin为匹配以下条件之一的行选择数据库中的所有内容:
post_type = "answer"
post_type = "question"
21-revision-v1
10903-revision-v1
我是SQL的完全新手,所以我从进行一些谷歌搜索开始,发现了临时表的概念。这导致我创建以下代码:
SELECT * INTO #QA FROM `wp_posts` WHERE `post_type` = "answer" OR `post_type` = "question"
但是我收到以下错误:
#1064-在regel 2中,ge语法为bij’FROM wp_postsWHERE post_type=“ answer” OR post_type=“ question” LIMI“
wp_posts
post_type
意思是“附近的语法有问题”…。
我正在尝试的甚至可行吗?
您使用的语法最通常与SQL Server相关联。MySQL使用(更常见的)create table as语法。并且,它特别允许使用语法中的临时表。
create table as
因此,MySQL中的等效项是CREATE TABLE AS:
CREATE TABLE AS
CREATE TEMPORARY TABLE QA AS SELECT p.* FROM wp_posts p WHERE post_type IN ('answer', 'question');
请注意,临时表是一种非常特殊的表类型,仅存在于当前的“会话”中-例如,您当前与数据库的连接。它对其他用户不可见,当您重新连接到数据库时,它将消失。