我想知道 MySQL 如何解释 CREATE TABLE
语法:
如果我写:
CREATE TABLE tbl1 (
`v1` int,
`v2` int
CONSTRAINT idx PRIMARY KEY (v1)
)
SELECT a, b FROM tbl2;
它是否确定哪个值进入
v1
哪个进入v2
按他们在 select 语句中的顺序?它使用我在
CREATE TABLE
语句中指定的名称还是 它是否从 select 语句中获取它们?
我以前使用过 CREATE TABLE XX SELECT val FROM YY
但想更具体地了解上述语法。
最佳答案
使用您当前的解决方案,您将获得一个包含列 v1
、v2
、a
和 b的表格
.
要了解它是如何正确完成的,请参阅 "CREATE TABLE ... SELECT Statement" MySQL 官方文档中的章节。
因此,如果您只想在 v1
上使用 index 和 v1
和 v2
,请按如下方式进行:
CREATE TABLE tbl1 (PRIMARY KEY (v1))
SELECT a v1,
b v2
FROM tbl2;
关于mysql - 在 MySQL 中使用 SELECT 语法创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963343/