Você precisa se conectar ao esquema de informações e poderá encontrar todas as informações sobre a chave primária e as chaves estrangeiras nesta tabela
SELECT * FROM information_schema.TABLE_CONSTRAINTS T; você precisa ser um
ROOT usuário para acessar o information_schema . USANDO esta tabela você pode encontrar a tabela, db e se tem chave estrangeira.
Espero que isso ajude se você não quiser usar
IF EXIST e Procedimento Armazenado. Mas tenho certeza que você pode usar IF EXIST pode ser usado para consultas de procedimento não armazenado....