Je veux savoir comment MySQL interprète la syntaxe CREATE TABLE :
Si c'était écrit comme ceci :
CREATE TABLE tbl1 ( `v1` int, `v2` int CONSTRAINT idx PRIMARY KEY (v1) ) SELECT a, b FROM tbl2;
Est-ce qu'il décide quelles valeurs vont dans la v1 et quelles valeurs vont dans la v2 en fonction de l'ordre dans l'instruction select ?
Utilise-t-il le nom que j'ai spécifié dans l'instruction CREATE TABLE, ou obtient-il le nom de l'instruction select ?
J'ai déjà utilisé CREATE TABLE XX SELECT val FROM YY, mais j'aimerais être plus précis sur la syntaxe ci-dessus.
Sur la base de la solution actuelle, vous obtiendrez un tableau avec les colonnes v1 v2 a et b.
Pour savoir comment le faire correctement, consultez le chapitre "CREATE TABLE ... SELECT Statement", veuillez vous référer à la documentation officielle de MySQL. .
Donc si vous voulez juste que v1 et v2 aient un index sur v1, comme ceci :