지정한 테이블을 참조하는 테이블에서 외래 키를 삭제하려고합니다. 나는 외래 키의 이름을 모른다. 나는 그것이있는 테이블과 그것이 참조하는 테이블만을 알고있다. 이것은 내가 지금까지 무엇을 가지고 있습니다 :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);
하지만 오류 얻을 :
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
셀렉트 혼자 작품 :
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)