Por vezes ao criar uma foreign key no MySQL e errar em sua definicao ou mesmo necessitar deleta-la acontece esse erro. No PHPMyAdmin nao e possivel deletar o indice pois causa o mesmo erro. A solucao nao e complicada:ALTER TABLE nome_da_tabela DROP FOREIGN KEY nome_da_foreign_keyPronto, apos esse passo, se ainda houver o indice e so deleta-lo com a mesma instrucao acima mudando FOREIGN KEY por INDEX.Se nao criou a foreign key com um nome definido por voce veja a lista de indices para saber o nome.Essa postagem nao e uma traducao, mas encontrei a solucao nesse artigo: http://wolfram.kriesing.de/blog/index.php/2006/mysql-says-1025-error-on-rename-of-but-means Irei retratar nesse texto uma experiencia que estou tendo ao desenvolver um sistema em que os requisitos nao foram bem definidos. Irei dar dicas baseado nessa experiencia para que outros desenvolvedores, principalmente iniciantes facam um trabalho bem feito, com cumprimento de prazos e por um valor justo.E dificil imaginar desenvolver um site de conteudo simples utilizando contrato de escopo aberto (e claro que dependendo da necessidade, se houver funcionalidades que sao um pouco fora do comum e sao muito especificos do negocio do cliente), mas um sistema onde as funcionalidades sao variaveis e sao muito dependentes do negocio do cliente, ou seja, onde sera mais trabalhoso utilizar um sistema pronto e adaptar as necessidades do que criar do zero (leia-se criar do zero desenvolver utilizando uma framework, entao nao totalmente do zero) na minha opiniao e a primeira opcao que deve ser utilizada.Recebi um telefonema de uma pessoa com quem trabalhei a algum tempo. Essa pessoa queria que eu fizesse um site para o condominio. Fui ate la e nao era um simples site a ser feito, e sim um sistema que gerencia reservas, cadastro do condomino, automoveis, mural de mensagens e varias coisas. Parece simples? Primeiro erro.Muitas vezes quando visualizamos o sistema com essas funcionalidades em mente parece ser algo simples. Mas tem um detalhe que muitas vezes esquecemos e e muito importante: O Back-end, ou area do administrador. Nessa area deveremos mais cedo ou mais tarde incluir ACLs (Lista de controle de acesso) para que cada tipo de usuario possa acessar as funcionalidades a ele destinadas (nesse caso: administrador, sindico, porteiro).O administrador deve poder fazer tudo, inclusive excluir registros, adicionar e editar. Ha registros que nao desejamos eliminar nunca do sistema, nesse caso deveremos colocar um campo 'ativo' por exemplo para indicar se o registro deve ou nao aparecer... E por ai vai!Alem do Back-end, o front-end possui muitos itens que esquecemos como o desenvolvimento da interface, a integracao de formularios com ajax e por ai vai...Sem perguntar muito e sem anotar nada pensei em um preco menor, mas por experiencia aumentei o valor, e acharam alto, mas mesmo assim acordaram o valor passado menos um pouco de barganha. Pelo trabalho que ja tive estou fazendo esse sistema mais pelo portfolio do que pelo valor pago, pois esta saindo bastante barato.Depois de considerado terminado o sistema, faltando alguns itens, enviei por e-mail para apresenta-lo ao sindico. Me ligaram e disseram que estava OK, so algumas mudancas...Muitas coisas nao foram especificadas, como as