Estou tentando sincronizar as alterações de esquema do MySQL Workbench para meu banco de dados. Estou recebendo o seguinte erro ao tentar criar uma chave estrangeira:
Executing SQL script in server
ERROR: Error 1005: Can't create table 'tomato.#sql-2730_1b8' (errno: 121)
Aqui está a instrução que está tentando executar:
ALTER TABLE `tomato`.`ing_allergy_ingredient`
ADD CONSTRAINT `fk_ai_allergy`
FOREIGN KEY (`allergy_id` )
REFERENCES `tomato`.`ing_allergy` (`allergy_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION
Alguma ideia do que esse erro significa?
Você receberá esta mensagem se estiver tentando adicionar uma restrição com um nome que já é usado em outro lugar.
De acordo com esta postagem , você pode verificar sua restrição assim:
Se a tabela que você está tentando criar inclui uma restrição de chave estrangeira e você forneceu seu próprio nome para essa restrição, lembre-se de que ela deve ser exclusiva no banco de dados. Execute esta consulta para ver se esse nome está em uso em algum lugar: