Mysql
 sql >> Base de données >  >> RDS >> Mysql

Variables MySQL dans le script ALTER TABLE

Avec l'utilisation de variables comme noms de colonnes et de tables, il serait préférable de DECLARE une requête en tant que "chaîne", puis exécutez cette chaîne via un Prepared Statement .

Cela peut être fait de deux manières, soit par CONCAT() pour construire la chaîne complète ou en utilisant PREPARE avec arguments :

SET @query = CONCAT('ALTER TABLE ', var_referenced_table_name, ' DROP FOREIGN KEY ', var_constraint_name, ';');
PREPARE stmt FROM @query; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt;