Usando o PhpMyAdmin Chave Estrangeira

4,867 views
Skip to first unread message

Mario Rodrigues

unread,
Jul 29, 2008, 4:54:57 PM7/29/08
to php-b...@googlegroups.com
Salve a todos,

pessoal seguinte no phpmyadmin não tem como usar o foreign key?
criei a seguinte tbl
CREATE TABLE tblPedido (
   idPedido int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   codCli int not null,
   codServico int not null,
   dataServico date not null,   
   Status VARCHAR( 15 ) NOT NULL,
   foreign key (codCli) references tblCliente(idCli),
   foreign key(codServico) references tblServico(idServico));...fiz assim tb


CREATE TABLE tblPedido (
   idPedido int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   codCli int not null,
   codServico int not null,
   dataServico date not null,   
   Status VARCHAR( 15 ) NOT NULL,
   foreign key (codCli) references tblCliente(idCli) ON DELETE CASCADE,
   foreign key(codServico) references tblServico(idServico) ON DELETE CASCADE
   )ENGINE = MYISAM COMMENT = 'Tabela de dados de Pedido';

Tbl criada com sucesso...porem quando fui cadastrar (pra ver se funcionou mesmo) um registro...coloquei codCli e codServico numeros q nao existiam...e gravou....
Dai pergunto...como posso resolver isso?...fiz alguma coisa de errado?

Rafael Kassner

unread,
Jul 29, 2008, 5:23:07 PM7/29/08
to php-b...@googlegroups.com
MYISAM não suporta chaves estrangeiras..
 
Ele até cria, mas não verifica nadinha...
 
Valeu!

Gihovani Demétrio

unread,
Jul 29, 2008, 4:56:11 PM7/29/08
to php-b...@googlegroups.com
ENGINE = MYISAM
troque para ENGINE = InnoDB.

2008/7/29 Mario Rodrigues <marioir...@gmail.com>

Cristian Trentin

unread,
Jul 29, 2008, 5:18:39 PM7/29/08
to php-b...@googlegroups.com
Não analisei o SQL apensa me veio na cabeça.. as tabelas ao qual vc esta chamando a FK já estao criadas ?

José Wilker

unread,
Jul 29, 2008, 6:27:18 PM7/29/08
to php-b...@googlegroups.com
mario se vc usar tabelas do tipo MyISAM voce simplesmente vai ter que fazer a coisa funcionar se relacionando no codigo, se vc usa InnoDB vc tem possibilidade de criar chaves dentro do banco de dados...

para isso voce deve configurar seu banco para trabalhar com InnoDB

valeu,

José Wilker

Mario Rodrigues

unread,
Jul 30, 2008, 7:25:35 AM7/30/08
to php-b...@googlegroups.com
Blz...irei recriar ao inves de usar o MYISAM...usarei o InnoDB....e sobre as outras tbl's(Cristian perguntou) sim foram as primeiras q eu havia criado.

valeu ai a todos

2008/7/29 Rafael Kassner <max...@gmail.com>

Mario Rodrigues

unread,
Jul 30, 2008, 7:48:33 AM7/30/08
to php-b...@googlegroups.com
Salve a todos,

Resolvido...mudei para InnoDB e funfou normalmente o cascate...bom outra coisa...o tipo de ENGINE nao influencia em nada na aplicação ne?
Vamos supor q eu tenha uma aplicação q rodasse no MYISAM...e pow no decorrer do manuseio do sistema percebo q preciso mudar para q funcione a foreign key...posso mudar criando a mesma estrutura de campos e tals...nao vai ter problema nenhum?

2008/7/30 Mario Rodrigues <marioir...@gmail.com>

Rafael Kassner

unread,
Jul 30, 2008, 12:46:10 PM7/30/08
to php-b...@googlegroups.com

MyISAM é muito mais rápido para acessar os dados.

Ele também permite buscas em arquivos text/blob.


2008/7/30 Mario Rodrigues <marioir...@gmail.com>



--
Rafael Eduardo Kassner
Consultor de TI
http://www.wsli.net/

Alexandre Braga

unread,
Sep 6, 2013, 8:43:57 PM9/6/13
to php-b...@googlegroups.com
Pessoal, aproveitando o assunto, alguém saberia me informar como fazer para colocar mais de uma chave estrangeira no phpmyadmin?

Grato.

Alexandre Braga

Luciano Martins

unread,
Sep 7, 2013, 8:16:49 AM9/7/13
to php-b...@googlegroups.com
Eu uso pra modelar o BD o MySQL Workbench onde "manipulo" os tabelas deixando do jeito que quero e "sincronizo" com o MySQL e dps para ver os dados uso o HeidiSQL, nunca uso esse phpmyadmin, por achá-lo muito horrível.


Em terça-feira, 29 de julho de 2008 17h54min57s UTC-3, marioir...@gmail.com escreveu:

Cassiano Ricardo Mourão

unread,
Sep 9, 2013, 12:14:54 PM9/9/13
to php-b...@googlegroups.com
Sem querer ser chato: você acabou de desenterrar um post de mais de 3 anos.
 
Presta atenção aê né fio.


--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/php-brasil.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Lucas Ricardo

unread,
Apr 25, 2014, 4:17:55 PM4/25/14
to php-b...@googlegroups.com, cassian...@gmail.com
galera foi mal mas também to com um probleminha com o phpMyAdmin estou cursando ADS e ainda sou muito inexperiente com a ferramenta.
estou tentando criar as chaves estrangeiras mas também não consigo, já criei as outras tabelas e o campo do relacionamento mas não estou conseguindo ligar os campos já coloquei como indice mas não aparece o campo para que eu fassa a ligação ciom chave primária da outra tabela alguem pode sei lá sugerir o que pode está acontecendo? obrigado se puder ajudar.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para php-brasil+unsubscribe@googlegroups.com.

Marcelo Gomes

unread,
Apr 25, 2014, 4:49:57 PM4/25/14
to php-b...@googlegroups.com, cassian...@gmail.com
você está usando o tipo "InnoDB"?

Marcelo Gomes
Consultor e Analista de Negócios/Sistemas
Mobile:  +55 (11) 9 8364-3775
                 +55 (11) 9 4153-9792
            



--
Você recebeu essa mensagem porque está inscrito no grupo quot;php-brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para php-b...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/php-brasil.
Para mais opções, acesse https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages