5

我想知道 MySQL 如何解释CREATE TABLE语法:

如果我写:

CREATE TABLE tbl1 (
    `v1` int,
    `v2` int
     CONSTRAINT idx PRIMARY KEY (v1)
)
SELECT a, b FROM tbl2;
  • 它是否根据它们在 select 语句中的顺序确定哪个值进入v1以及哪个进入?v2

  • 它是使用我在CREATE TABLE语句中指定的名称还是从 select 语句中获取它们?

我以前使用过CREATE TABLE XX SELECT val FROM YY,但想更具体地了解上述语法。

4

1 回答 1

9

v1使用您当前的解决方案,您将获得一个包含、v2a和列的表格b

要查看它是如何正确完成的,请参阅 MySQL 官方文档中的“CREATE TABLE ... SELECT 语句”一章。

因此,如果您只想在 上v1使用v2索引v1请执行以下操作:

CREATE TABLE tbl1 (PRIMARY KEY (v1))
SELECT a v1,
       b v2
FROM tbl2;
于 2012-08-15T02:34:37.703 回答