Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

raphaelFree

Chave estrangeira no MySQL

Recommended Posts

olá, bom dia. Tenho uma tabela onde preciso colocar 3 chaves estrangeiras. Minha duvida é o seguinte qual a sintaxe do my sql para declarar chaves estrangeiras em uma tabela, visto que, não estou conseguindo fazer e só dá erro de sintaxe. Os campos que precisam de chave estrangeira são ID_DATA,ID_PRODUTO,ID_CLIENTE.

Se puder me indicar as formas possíveis (linha de comando sql ou pela ferramenta do mysql)de fazer essas chaves, fico agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, agora como faço para ativar o innoDB no querybrowser, quais parametros devo passar para que ele suporte as transações de chaves estrangeiras, ou como faço isso via codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...

não uso querybrowser, então não sei dizer se tem como fazer isto por ele.

 

mas que eu saiba, pelo menos a partir da versão 5.x do mysql, o InnoDb já é ativado por padrão. basta que as tabelas estejam definidas com o engine = "InnoDb".

 

ex:

CREATE TABLE `teste1` (								  
		  `id` int(11) NOT NULL AUTO_INCREMENT,				  
		  `nome` varchar(50) DEFAULT NULL,					   
		  PRIMARY KEY (`id`)									 
		) ENGINE=InnoDB

ou no altertable:

alter table `teste1` Engine=InnoDB

aqui tem uma documentação que fala apenas de InnoDb, pode ser bem últil para sanar estas dúvidas: http://dev.mysql.com/doc/refman/5.0/en/innodb.html.

 

No MySQLAdministrator, caso utilize, há também opções específicas para o InnoDB.

 

Se ainda tiver dúvidas só postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tbm axei que vinha, por default, mas no entanto, não veio, e quando tento configurar e me joga um erro assim:

the configuration file C:\Program Files\MySQL\MySQL Server 5.0\my.ini (section mysqld) canot be updateb.

E pelo comando abaixo me avisa que o innoDB, esta desabiltado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tbm axei que vinha, por default, mas no entanto, não veio, e quando tento configurar e me joga um erro assim:

the configuration file C:\Program Files\MySQL\MySQL Server 5.0\my.ini (section mysqld) canot be updateb.

E pelo comando abaixo me avisa que o innoDB, esta desabiltado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... bom, talvez durante a instalação tenha 'pulado' alguma opção na configuração.

de qualquer forma, abre este arquivo my.ini no bloco de notas por exemplo e procura por:

skip-innodb

se encontrar, verifique se está com aquele sinal de comentário (tralha #) logo no início, assim:

#skip-innodb

se não estiver com tal sinal, ponha, deixando deste jeito #skip-innodb.

 

daí salve a alteração e reinicia o serviço do mysql. se iniciar com sucesso, tente criar uma tabela simples com o tipo (engine) InnoDb p/ teste.

 

aqui nesta página tem outras opções de configuração do InnoDb: http://dev.mysql.com/doc/refman/5.0/en/inn...n_mysqld_innodb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.