我想知道MySQL如何解释CREATE TABLE语法:
要是这么写的话:
CREATE TABLE tbl1 ( `v1` int, `v2` int CONSTRAINT idx PRIMARY KEY (v1) ) SELECT a, b FROM tbl2;
它是否根据选择语句中的顺序决定哪些值进入v1哪些值进入v2 ?
它是使用我在CREATE TABLE语句中指定的名称,还是从select语句中获取名称?
我以前使用过CREATE TABLE XX SELECT val FROM YY,但想更具体地了解上述语法。
P粉7416783852023-07-21 20:29:10
根据当前的解,你会得到一个列为v1 v2 a和b的表。
要了解如何正确地完成它,请参见"CREATE TABLE ... SELECT Statement" 章节,请参考MySQL官方文档。.
所以如果你只想让v1和v2在v1上有一个索引,就像这样做:
CREATE TABLE tbl1 (PRIMARY KEY (v1)) SELECT a v1, b v2 FROM tbl2;