Alterar tabela usando sub selecionar
Eu tenho duas mesas. uma que é uma tabela de informações de campo e a outra é uma tabela de dados de campo.
por padrão, todas as colunas da tabela de dados de campo são configuradas para campos de texto de algum tipo (varchar, text, etc)
O que eu gostaria de fazer é isso. Em vez de criar a consulta manual ALTER TABLE:
ALTER TABLE `field_data`
CHANGE COLUMN `field_id_2` `field_id_2` decimal NOT NULL,
CHANGE COLUMN `field_id_3` `field_id_3` decimal NOT NULL,
CHANGE COLUMN `field_id_22` `field_id_22` decimal NOT NULL,
CHANGE COLUMN `field_id_23` `field_id_23` decimal NOT NULL,
CHANGE COLUMN `field_id_25` `field_id_25` decimal NOT NULL,
CHANGE COLUMN `field_id_27` `field_id_27` decimal NOT NULL,
CHANGE COLUMN `field_id_30` `field_id_30` decimal NOT NULL,
CHANGE COLUMN `field_id_66` `field_id_66` decimal NOT NULL,
CHANGE COLUMN `field_id_72` `field_id_72` decimal NOT NULL;
Eu gostaria de escrever uma consulta ALTER TABLE dinâmica com base na tabela field_info, agora eu recebo esses IDs de campo fazendo esta consulta:
SELECT field_id FROM `field_info` WHERE `field_type` = 'a_decimal_field'
que retorna os valores: 2, 3, 22, 23, etc.
Então, eu precisaria de uma consulta (se possível) que altera a tabela com base na sub seleção concatenar field_id_ para o resultado de cada sub seleção e altera o tipo dessa coluna para decimal.
Eu sei que posso fazer isso em php, construindo a consulta, mas estou procurando especificamente uma solução de mysql puro, se possível.