Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Variáveis ​​MySQL no script ALTER TABLE


Com o uso de variáveis ​​como nomes de colunas e tabelas, seria melhor DECLARE uma consulta como uma "string" e, em seguida, execute essa string por meio de um Prepared Statement .

Isso pode ser feito de duas maneiras, seja por CONCAT() para construir a string completa ou usando PREPARE com argumentos:
SET @query = CONCAT('ALTER TABLE ', var_referenced_table_name, ' DROP FOREIGN KEY ', var_constraint_name, ';');
PREPARE stmt FROM @query; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt;