id.cs 0 Denunciar post Postado Outubro 25, 2006 Boa noite pessoal, Estou com uma extrema dificuldade para criar relacionamentos no MySql, antes usava o famoso Access, mas não supriu as minhas necessidades como esperava, mas enfim isso não é a questão, o problema básico é que não tem jeito de criar relacionamentos. Assim, em Access eu criava um relacionamento onde uma tabela chamada por exemplo de (departamento) era relacionada a tabela (produto), onde muitos produtos poderiam ter um departameto, o famoso um para muitos, poisé, em Access erá simples apenas arrastava, rsrsrs, em MySql não é mesma coisa mas também não é um bicho, uso como auxilio o front-end MySQL Front, mas não tem jeito, segui o topico que está fixado nessa área do fórum, mas não deu, ele me dá uma mensagem de erro porem exibi os relacionamentos tranquilamente. Só que em Access quando eu excluia um determinado departamento, automaticamente os registros da tabela produto que tinham esse departamento relacionado eram excluídos, só que em MySql não to conseguindo isso, mesmo marcando a opção Delete = Cascate. Bom pessoal, peço encareçidamente uma ajuda, já to há uns dias pesquisando lendo e nada! Agradeço desde já! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Outubro 25, 2006 Qual o tipo da tabela (ou engine) que utilizou? MyIsam ou Innodb, até o momento myisam apesar de conseguir criar o relacionamento, o mesmo não é utilizado pelo mysql. Compartilhar este post Link para o post Compartilhar em outros sites
id.cs 0 Denunciar post Postado Outubro 25, 2006 Todas as tabelas são Innodb! Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Outubro 25, 2006 O SQLYog tem um recurso mais interessante na parte de criar relacionamentos (foreign keys). Compartilhar este post Link para o post Compartilhar em outros sites
id.cs 0 Denunciar post Postado Outubro 25, 2006 O SQLYog tem um recurso mais interessante na parte de criar relacionamentos (foreign keys).hum, interessante este front-end, com ele será que consigo criar os relacionamentos da forma que preciso ou terei de fazer via SQL mesmo? Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Outubro 25, 2006 Faz um outro teste bemmmmmmmmmmm simples: CREATE TABLE `departamento` ( `dep_id` int(11) NOT NULL auto_increment, `dep_nome` varchar(20) NOT NULL, PRIMARY KEY (`dep_id`) ) ENGINE=InnoDB CREATE TABLE `produtos` ( `pro_id` int(11) NOT NULL auto_increment, `dep_id` int(11) default NULL, `pro_nome` varchar(20) NOT NULL, PRIMARY KEY (`pro_id`), KEY `FK_produtos` (`dep_id`), CONSTRAINT `produto_departamento` FOREIGN KEY (`dep_id`) REFERENCES `departamento` (`dep_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB Aí está criando as tabelas departamento e produto, e departamento pode ter vários produtos. Se deletar um departamento, todos os produtos devem ser exclúidos. O SQLYog tem um recurso mais interessante na parte de criar relacionamentos (foreign keys). hum, interessante este front-end, com ele será que consigo criar os relacionamentos da forma que preciso ou terei de fazer via SQL mesmo? Costumo utilizar esta ferramenta p/ criar os relacionamentos.Na verdade aí você só faz a ligação dos campos entre as tabelas. Se será um-para-um ou um-para-muitos, vai depender dos índices únicos (ou a chave primária) que existem na tabela filha (no caso dos campos utilizados na referência). Tipo este último exemplo, da forma que está é um p/ muitos, mas se adicionar um índice único (ou se for o caso uma chave primária para o campo dep_id na tabela produtos, automaticamente será um p/ um. alter table `test`.`produtos` drop key `FK_produtos`, add unique `FK_produtos` ( `dep_id` )E só iria fazer este tipo de alteração caso a mesma não afete a integridade dos registros que já existem na tabela.Lembrando que os tipos/tamanho dos campos que estão sendo ligados devem ser iguais. Compartilhar este post Link para o post Compartilhar em outros sites
id.cs 0 Denunciar post Postado Outubro 25, 2006 ... Aí está criando as tabelas departamento e produto, e departamento pode ter vários produtos. Se deletar um departamento, todos os produtos devem ser exclúidos. Bá amigo, sem comentários, meu erro era absurdo, eu tava fazendo certo os relacionamentos, o problema é que eu apagava um departamento em seguida abria a tabela produtos mas eu não á atualizava, ai via os registros, simplesmente atualizei a tabela e os registros tinha sido apagados.Valeu cassitos, eu que não me liguei, mas de qualquer forma, valeu pela força!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Outubro 25, 2006 \o/ehehehebeleza!! :) Compartilhar este post Link para o post Compartilhar em outros sites
id.cs 0 Denunciar post Postado Outubro 25, 2006 \o/ehehehebeleza!! :)Valeu amigo, ratiada minha!!! rsrsrsrsrsrsrs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites