Ich stieß auf ein Problem mit MySQL und fügte Felder aus der ausgewählten Quellentabelle hinzu.MySQL create/select fügt Felder aus der Quelltabelle hinzu
Hier ist ein Beispiel (Sie können es auf SQL Fiddle finden.
CREATE TABLE source_table (
id INT UNSIGNED NOT NULL,
foo VARCHAR(3),
INDEX (id)
);
INSERT INTO source_table (id, foo) VALUES (1, "one");
// Create another table and fill it from the source_table
CREATE TABLE example_table (
id INT UNSIGNED NOT NULL,
bar VARCHAR (3),
INDEX (id)
) SELECT
source_table.id,
source_table.foo
FROM source_table
WHERE source_table.id = 1;
Am Ende meiner example_table
ein foo
Feld haben, dass ich nie plus erstellen angefordert werden, wird bar
leer sein während foo
wird gefüllt werden.
Die Lösung fand ich ist Aliase für jedes Feld zu verwenden, aber es ist r edundant:
Gibt es einen Trick in der MySQL-Konfiguration, um dieses Verhalten zu vermeiden? Ich denke, es würde überraschende Tabellen schaffen.
Sie können eine Ansicht erstellen, wenn Sie möchten – senK