Enviado em 02/04/2011 - 22:57h
CREATE TABLE `fornecedores` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`empresa` CHAR(30) NOT NULL
) TYPE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `itens` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`materiais` CHAR(30) NOT NULL
) TYPE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `ordemcompra` (
`fornecedores_id` INT NOT NULL,
`itens_id` INT NOT NULL,
`date` DATE NOT NULL,
`valor` DOUBLE NOT NULL,
PRIMARY KEY(`fornecedores_id`, `itens_id`, `date`),
INDEX i2 (`itens_id`),
FOREIGN KEY (`fornecedores_id`) REFERENCES fornecedores(`id`) ON DELETE CASCADE,
FOREIGN KEY (`itens_id`) REFERENCES itens(`id`) ON DELETE RESTRICT
) TYPE=InnoDB DEFAULT CHARSET=latin1;
=========
Estou criando 3 tabelas, fornecedores, itens e ordem de compra. Preciso que na tabela ordem de compra, em vez de ID da tabela fornecedores e itens, me mostre os campos empresa e materiais das respectivas tabelas. Acredito que tenha uma forma nativa do mysql fazer isso com a foreign key.
Obrigado!
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`empresa` CHAR(30) NOT NULL
) TYPE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `itens` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`materiais` CHAR(30) NOT NULL
) TYPE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `ordemcompra` (
`fornecedores_id` INT NOT NULL,
`itens_id` INT NOT NULL,
`date` DATE NOT NULL,
`valor` DOUBLE NOT NULL,
PRIMARY KEY(`fornecedores_id`, `itens_id`, `date`),
INDEX i2 (`itens_id`),
FOREIGN KEY (`fornecedores_id`) REFERENCES fornecedores(`id`) ON DELETE CASCADE,
FOREIGN KEY (`itens_id`) REFERENCES itens(`id`) ON DELETE RESTRICT
) TYPE=InnoDB DEFAULT CHARSET=latin1;
=========
Estou criando 3 tabelas, fornecedores, itens e ordem de compra. Preciso que na tabela ordem de compra, em vez de ID da tabela fornecedores e itens, me mostre os campos empresa e materiais das respectivas tabelas. Acredito que tenha uma forma nativa do mysql fazer isso com a foreign key.
Obrigado!