首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据表中的值查询表

根据表中的值查询表
EN

Stack Overflow用户
提问于 2020-09-30 10:10:44
回答 3查看 86关注 0票数 1

我们有一个WordPress站点,其中包含一个Q&A插件,需要移动到一个不同的主机。Q&A帖子只占总posts表的一小部分,所以我想使用SQL查询过滤掉它们。

我希望通过PhpMyAdmin为符合以下条件之一的行选择DB中的所有内容:

  1. post_type = "answer"
  2. post_type = "question"
  3. post_type包含修订,前面有前面标准之一的ID。例如:21-revision-v110903-revision-v1,其中我想选择第一个数字部分与前两个需求中选择的帖子ID相匹配的帖子。

我是SQL的完全新手,所以我从googling开始,找到了临时表的概念。这导致我创建了以下代码:

代码语言:javascript
复制
SELECT *  INTO #QA 
FROM `wp_posts` WHERE 
`post_type` = "answer" OR
`post_type` = "question"

但是,我得到了以下错误:

#1064 - Er是来自wp_posts的de语法bij‘的iets post_type =“回答”或 post_type = regel 2中的“问题”极限

意思是“附近的语法有问题”..。

我所尝试的是否可行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-30 10:36:23

您使用的语法最常与Server关联。MySQL使用(更常见的) create table as语法。而且,它还特别允许语法中的临时表。

因此,在MySQL中等效的是CREATE TABLE AS

代码语言:javascript
复制
CREATE TEMPORARY TABLE QA AS
    SELECT p.*  
    FROM wp_posts p
    WHERE post_type IN ('answer', 'question');

请注意,临时表是一种非常特定的表类型,仅存在于当前的“会话”中--例如,您与数据库的当前连接。它对其他用户不可见,当您重新连接到数据库时,它将消失。

票数 1
EN

Stack Overflow用户

发布于 2020-09-30 10:18:52

MySQL不支持写入表的select ... into ...语法,如文件中的精确点

相反,您可以使用insert ... select

代码语言:javascript
复制
insert into `#qa`
select *
from wp_posts
where post_type in ('question', 'answer')
票数 2
EN

Stack Overflow用户

发布于 2020-09-30 10:25:50

SELECT * INTO...语法用于创建新表。

如果这是您想要的,那么MySql的语法是:

代码语言:javascript
复制
CREATE TABLE tablename AS
SELECT * FROM `wp_posts` 
WHERE `post_type` = 'answer' OR `post_type` = 'question'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64135354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档