Die Möglichkeit, Tabellenaliasnamen für INSERTs zu verwenden, wäre sehr nützlich für ON DUPLICATE KEY-Anweisungen, insbesondere bei der Überprüfung von Spalten. Hier ein Beispiel:
insert into very_long_table_name_that_can_be_modified_one_day_or_during_testing (
mykey,
column1,
column2,
column3,
<column99>
)
select
mykey,
column1,
column2,
column3,
<column99>
from subquery
on duplicate key update
column1 = ifnull(values(column1), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column1),
column2 = ifnull(values(column2), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column2),
column3 = ifnull(values(column3), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column3),
<column99>;
Wenn der Tabellenname ändern müssen Sie eine Menge Linie von Codes ändern, im Vergleich zu nur am Anfang ein Alias, die in der Abfrage verwendet wird.
Warum brauchen Sie das? –
Welche SQL versuchen Sie zu verwenden? –
@Meakins - Mysql Geschmack. @pekka: Ich habe meine ursprüngliche Frage bearbeitet. – MEM