J'essaie de supprimer une clé étrangère d'une table référençant une table spécifiée. Je ne connais pas le nom de la clé étrangère, je ne connais que la table dans laquelle elle se trouve et la table qu'elle référence. Voilà ce que je suis arrivé à ce jour:Comment supprimer dynamiquement une clé étrangère de la table MySQL?
alter table tblTableWhereFKIs drop foreign key (select constraint_name
from information_schema.key_column_usage
where referenced_table_name = 'tblReferencedByFK' and table_name = 'tblTableWhereFKIs' limit 1);
Mais je reçois une erreur:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(select constraint_name
from information_schema.key_column_usage
where referen' at line 1
Les travaux de sélection seul:
mysql> select constraint_name
-> from information_schema.key_column_usage
-> where referenced_table_name = 'tblReferencedByFK' and table_name = 'tblTableWhereFKIs' limit 1;
+-----------------------------------------+
| constraint_name |
+-----------------------------------------+
| fk_tblTableWhereFKIs_tblReferencedByFK1 |
+-----------------------------------------+
1 row in set (0.08 sec)