Jump to content
Fórum Script Brasil
  • 1

Erro "Can't create table (errno: 150 "Foreign key constraint is incorrectly formed")"


Question

Criei a tabela  "anamnese_micropigmentacao" e mais outras duas "pigmentos_utilizados" e "pigmentos". Na tabela "pigmentos_utilizados" criei duas chaves estrangeiras para armazenar os IDs. Ao criar as tabelas, é mostrada a mensagem de erro:

"Can't create table `aslashdesigner`.`pigmentos_utilizados` (errno: 150 "Foreign key constraint is incorrectly formed")"

CREATE TABLE anamnese_micropigmentacao(
    idinamnese INT PRIMARY KEY AUTO_INCREMENT,
    idcliente INT NOT NULL,
    tecnicaAplicada VARCHAR(15) NOT NULL,
    nivelSensibilidade VARCHAR(5) NOT NULL,
    tratamentoMedico ENUM('SIM', 'não'),
    obs_tratamento_medico VARCHAR(100),
    alergias ENUM('SIM', 'não'),
    obs_alergias VARCHAR(100),
    cirurgiaRecente ENUM('SIM', 'não'),
    obs_cirurgia_recente VARCHAR(100),
    marcaExpressaoFacial ENUM('SIM', 'não'),
    obs_marca_expressao_facial VARCHAR(100),
    tipoProcedimento VARCHAR(30) NOT NULL,
    diabetes ENUM('SIM', 'não'),
    obs_diabetes VARCHAR(100),
    agulhaUtilizada VARCHAR(15) NOT NULL,
    idpigmento INT NOT NULL,
    cicatrizFacial ENUM('SIM', 'não'),
    obs_cicatriz_facial VARCHAR(100),
    gestante_lactante VARCHAR(10),
    hipo_hipertensao_arterial VARCHAR(15),
    herpes_labial ENUM('SIM', 'não'),
    problemas_cicatrizacao_ou_queloide ENUM('SIM', 'não'),
    tratamento_acido ENUM('SIM', 'não'),
    obs_tratamento_acido VARCHAR(100),
    anestesico ENUM('SIM', 'não'),
    obs_anestesico VARCHAR(100),
    marcapasso ENUM('SIM', 'não'),
    assinatura longblob NOT NULL,
    obs_adicionais VARCHAR(100)
 ) ENGINE = innodb;

 CREATE TABLE pigmentos_utilizados(
    id_pigmento INT NOT NULL,
    id_anamnese INT NOT NULL,
    FOREIGN KEY(id_pigmento) REFERENCES pigmentos(idpigmento),
    FOREIGN KEY(id_anamnese) REFERENCES anamnese_micropigmentacao(idanamnese)
 ) ENGINE = innodb;

 CREATE TABLE pigmentos(
    idpigmento INT PRIMARY KEY AUTO_INCREMENT,
    cor VARCHAR(30) NOT NULL,
    marca VARCHAR(30) NOT NULL
 ) ENGINE = innodb;

Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149150
    • Total Posts
      645417
×
×
  • Create New...