首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们是否可以从头开始在MySQL中创建一个表,使用INTO,而无需在前面定义create?

我们是否可以从头开始在MySQL中创建一个表,使用INTO,而无需在前面定义create?
EN

Stack Overflow用户
提问于 2014-06-23 07:47:12
回答 2查看 216关注 0票数 0

我有以下SQL构造:

我想要做的是从RBP表中提取数据,然后直接将其创建为new_table

代码语言:javascript
复制
INSERT INTO new_table SELECT pdb_id, chain_id FROM RBP
        WHERE exp = "X-ray" AND 
       header = "RNA BINDING PROTEIN/RNA"

但我得到的是:

代码语言:javascript
复制
_mysql_exceptions.ProgrammingError: (1146, "Table 'MYDB.new_table' doesn't exist")

以前不做这个就能做到这一点吗?

代码语言:javascript
复制
CREATE TABLE new_table (
        pdb_id char(8)
        chain_id char(2)
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-23 10:18:19

您可以从已存在的表创建一个虚拟表(视图),如下所示:

将视图view_name创建为从table_name中选择column_name;

在你的例子中,你可以写

创建视图view_name作为选择pdb_id,chain_id从RBP,其中exp =“X射线”和标头= "RNA结合蛋白/RNA“;

票数 1
EN

Stack Overflow用户

发布于 2014-06-23 07:54:47

MySQL在使用INSERT INTO ... SELECT *语法时不创建表,但可以使用http://dev.mysql.com/doc/refman/5.0/en/create-table.html中描述的CREATE TABLE ... SELECT ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24360828

复制
相关文章

相似问题

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