Tener la capacidad de usar alias de tabla en INSERT sería muy útil para las instrucciones ON DUPLICATE KEY, especialmente al realizar comprobaciones en las columnas. Aquí está un ejemplo:
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>;
Si el cambio de nombre de la tabla que tendrá que modificar un montón de línea de códigos en comparación con sólo tener un alias al principio que se utiliza en la consulta.
¿Por qué lo necesitas? –
¿Qué SQL estás tratando de usar? –
@Meakins - sabor mysql. @pekka: He editado mi pregunta original. – MEM