Heim > Fragen und Antworten > Hauptteil
Ich möchte wissen, wie MySQL die CREATE TABLE-Syntax interpretiert:
Wenn es so geschrieben wäre:
CREATE TABLE tbl1 ( `v1` int, `v2` int CONSTRAINT idx PRIMARY KEY (v1) ) SELECT a, b FROM tbl2;
Entscheidet es, welche Werte in v1 und welche Werte in v2 gehen, basierend auf der Reihenfolge in der SELECT-Anweisung?
Wird der Name verwendet, den ich in der CREATE TABLE-Anweisung angegeben habe, oder erhält er den Namen aus der Select-Anweisung?
Ich habe bereits CREATE TABLE XX SELECT val FROM YY verwendet, möchte aber die obige Syntax genauer erläutern.
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;