Insert com chave estrangeira
Bom dia a todos, então estou com uma duvida em banco de dados MySQL, como faria um insert nessas duas tabelas?
CREATE TABLE IF NOT EXISTS `cria`.`usuario` (
`iduser` INT(10) NOT NULL AUTO_INCREMENT,
`nomeuser` VARCHAR(50) NOT NULL,
`telefoneuser` BIGINT(20) NOT NULL,
`celularuser` BIGINT(20) NOT NULL,
`emailuser` VARCHAR(45) NOT NULL,
`senhauser` VARCHAR(50) NOT NULL,
`img_user` VARCHAR(300) NOT NULL,
PRIMARY KEY (`iduser`),
UNIQUE INDEX `emailuser` (`emailuser` ASC),
INDEX `fk_usuario_animal1_idx` (`iduser` ASC),
CONSTRAINT `fk_usuario_animal1`
FOREIGN KEY (`iduser`)
REFERENCES `cria`.`animal` (`idanimal`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1;
CREATE TABLE IF NOT EXISTS `cria`.`animal` (
`idanimal` INT(10) NOT NULL AUTO_INCREMENT,
`nomeanimal` VARCHAR(30) NOT NULL,
`raca` VARCHAR(20) NOT NULL,
`vacinas` VARCHAR(20) NOT NULL,
`animal_img` VARCHAR(300) NOT NULL,
PRIMARY KEY (`idanimal`))
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1;
Então eu sei que tenho que fazer select join, mas não sei se como colocar o '*value*' nisso:
insert into usuario
(
nomeuser, telefoneuser, celularuser, emailuser, senhauser, img_user
)
(
SELECT nomeuser, telefoneuser, celularuser, emailuser, senhauser, img_user FROM usuario
JOIN animal ON usuario.iduser = animal.idanimal
) ;
aonde eu colocaria os valores? Lembrando que depois colocarei em php os comandos(mesmo que não faça diferença rs).Discussão (3)
Carregando comentários...