erro chave estrangeira

SQL

MySQL

21/04/2018

estou tentando criar uma chave estrangeira e apresenta erro Error Code: 1005. Can''''''''''''''''t create table `manutencao`.`#sql-e68_9` (errno: 150 "Foreign key constraint is incorrectly formed")
Ja olhei o tipo dos campos estão iguais e tambem o nome, o que poderia ser?

tabela cadastro_tecnico
nome_tecnico varchar (100)

tabela login
nome_tecnico varchar (100)
Almir Queiroz

Almir Queiroz

Curtidas 0

Respostas

Pablo Ricardo

Pablo Ricardo

21/04/2018

Põe o script na tela que você ta criando. Senão um print.
GOSTEI 0
Almir Queiroz

Almir Queiroz

21/04/2018

CREATE SCHEMA IF NOT EXISTS `manutencao` DEFAULT CHARACTER SET utf8 ;
USE `manutencao` ;

-- -----------------------------------------------------
-- Table `manutencao`.`cadastro_tecnico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`cadastro_tecnico` (
`id_tecnico` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`nome_tecnico` VARCHAR(100) NOT NULL,
`senha_tecnico` INT NOT NULL,
`email_tecnico` VARCHAR(70) NULL,
`telefone_tecnico` BIGINT(11) NULL,
PRIMARY KEY (`id_tecnico`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`nivel_tecnico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`nivel_tecnico` (
`id_nivel` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`descricao_nivel` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id_nivel`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`login`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`login` (
`nome_tecnico` VARCHAR(100) NOT NULL,
`senha_tecnico` INT NOT NULL,
PRIMARY KEY (`nome_tecnico`, `senha_tecnico`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`cadastro_cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`cadastro_cliente` (
`id_cliente` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`nome_cliente` VARCHAR(100) NOT NULL,
`cpf_cliente` BIGINT(11) NOT NULL,
`email_cliente` VARCHAR(70) NOT NULL,
`endereco_cliente` VARCHAR(100) NULL,
`cidade_cliente` VARCHAR(70) NULL,
PRIMARY KEY (`id_cliente`, `cpf_cliente`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`ordem_servico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`ordem_servico` (
`id_ordem` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`descricao_equipamento` VARCHAR(100) NULL,
`descricao_defeito` VARCHAR(100) NULL,
`resolucao` VARCHAR(100) NULL,
`descricao_servico` VARCHAR(100) NULL,
`data_entrada` DATE NULL,
`data_saida` DATE NULL,
`id_tecnico` INT NULL,
`nome_tecnico` VARCHAR(100) NULL,
PRIMARY KEY (`id_ordem`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`equipamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`equipamento` (
`id_equipamento` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`descricao_equipamento` VARCHAR(100) NULL,
PRIMARY KEY (`id_equipamento`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`servico`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`servico` (
`id_servico` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`descricao_servico` VARCHAR(100) NULL,
PRIMARY KEY (`id_servico`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `manutencao`.`defeito`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `manutencao`.`defeito` (
`id_defeito` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`descricao_defeito` VARCHAR(100) NULL,
PRIMARY KEY (`id_defeito`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
GOSTEI 0
Fernando C

Fernando C

21/04/2018

uma chave estrangeira tem que ser a chave primaria na tabela "mãe"; verifique
GOSTEI 0
POSTAR