Con l'uso di variabili come nomi di colonne e tabelle, sarebbe meglio DECLARE
una query come "stringa" e quindi eseguire quella stringa tramite un Prepared Statement
.
Questo può essere fatto in due modi, tramite CONCAT()
per creare la stringa completa o utilizzando PREPARE
con argomenti:
SET @query = CONCAT('ALTER TABLE ', var_referenced_table_name, ' DROP FOREIGN KEY ', var_constraint_name, ';');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;