Con el uso de variables como nombres de columnas y tablas, sería mejor DECLARE
una consulta como una "cadena" y luego ejecute esa cadena a través de un Prepared Statement
.
Esto se puede hacer de dos maneras, ya sea por CONCAT()
para construir la cadena completa o usando PREPARE
con 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;