Se voc� fizer uma tabela especializada em InnoDB voc� consegue definir chave
estrangeira, por exemplo:
CREATE TABLE `acesso` (
`idacesso` int NOT NULL auto_increment,
`idpergunta` int NOT NULL default '0',
`idaluno` int NOT NULL default '0',
`dtacesso` date default NULL,
`ip` varchar(15) default NULL,
`horacesso` time default NULL,
PRIMARY KEY (`idacesso`,`idpergunta`,`idaluno`),
KEY `acesso_FKIndex1` (`idaluno`),
KEY `acesso_FKIndex2` (`idpergunta`),
CONSTRAINT `0_354
FOREIGN KEY (`idaluno`) REFERENCES `aluno` (`idaluno`) ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `0_355` FOREIGN KEY (`idpergunta`) REFERENCES `pergunta`
(`idpergunta`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB AUTO_INCREMENT=1 ;
CREATE TABLE `acesso` (
`idacesso` int NOT NULL auto_increment,
`idpergunta` int NOT NULL default '0',
`idaluno` int NOT NULL default '0',
`dtacesso` date default NULL,
`ip` varchar(15) default NULL,
`horacesso` time default NULL,
PRIMARY KEY (`idacesso`,`idpergunta`,`idaluno`),
KEY `acesso_FKIndex1` (`idaluno`),
KEY `acesso_FKIndex2` (`idpergunta`),
CONSTRAINT `0_354
Nami diz:
FOREIGN KEY (`idaluno`) REFERENCES `aluno` (`idaluno`) ON DELETE CASCADE ON
UPDATE CASCADE,
CONSTRAINT `0_355` FOREIGN KEY (`idpergunta`) REFERENCES `pergunta`
(`idpergunta`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB AUTO_INCREMENT=1 ;
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 20, 2004 4:21 PM
Subject: (linux-br)chave estrangeira no mysql
> Estou procurando em alguns Faqs e nao consigo encontrar como defino chave
> estrangeira (foreign key) no mysql.
> alguem saberia me informar...
>
> Romullo
>
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html