galera já perdi horas tentando criar uma FOREIGN KEY e dá sempre o mesmo erro. Estou usando o MySQLAdministrator mas o codigo que ele está gerando é esse:
ALTER TABLE `suprimentos`.`estoque` ADD CONSTRAINT `FK_estoque_1` FOREIGN KEY `FK_estoque_1` (`nomeunidade`)
REFERENCES `estoque_unid` (`nomeunidade`)
ON DELETE SET NULL
ON UPDATE SET NULL;
Da o seguinte erro:
Na verdade tenho duas tabelas “estoque” e “estoque_unid”… quero criar uma chave extrangeira para a coluna “nomeunidade” em “estoque”…
Na tabela “estoque_unid” o usuario vai cadastrar as unidades que ele vai trabalhar (CX, PÇ, UNID, TON, M², M³, etc…) e na tabela “estoque” ele ai ter que usar uma dessa unidades já cadastradas.
Grato pela atenção…
Abraço a todos
CREATE TABLE ESTOQUE_UNIDADE (
EUN_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
EUN_NOME VARCHAR(10) NOT NULL,
PRIMARY KEY(EUN_ID)
);
CREATE TABLE ESTOQUE (
EST_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
ESTOQUE_UNIDADE_EUN_ID INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(EST_ID),
INDEX ESTOQUE_FKIndex1(ESTOQUE_UNIDADE_EUN_ID),
FOREIGN KEY(ESTOQUE_UNIDADE_EUN_ID)
REFERENCES ESTOQUE_UNIDADE(EUN_ID)
);
Valeu andre_mbm!!
Seu codigo rodou perfeito…
Agora me tire uma dúvida… na minha tabela de consulta onde o usuario vai visualizar a tabela estoque, não quero que ele veja o EUN_ID e sim o EUN_NOME, ou seja, fica mais entendivel ele ver na tabela de estoque o nome da unidade e não o id da unidade. Nesse caso meu FOREIGN KEY seria o EUN_NOME? ou tanto faz?
Abraço…
Obrigado pela atenção…
ok. já entendi… eu posso montar meu JComboBox do jeito que eu quiser para o usário… assim como a ação que ele vai acionar a depender da escolha do usuário…
Valeu pela atenção…
Abraço a todos…