简体   繁体   English

MySQL外键到auto_increment字段

[英]MySQL foreign key to auto_increment field

I'm trying to create this table : 我正在尝试创建此表:

CREATE TABLE INFORMEPERICIAL (
INFORME_NO INT(3),
PRIMARY KEY (INFORME_NO),
DATEEMISIO DATE NOT NULL,
IMPORTCOBERT DECIMAL(8,2),
PERIT_NO INT(3) NOT NULL,
INFORME VARCHAR(200),
RESULTATPERITATGE  VARCHAR(20),
 CONSTRAINT RESULTATPERITATGE_CK CHECK (RESULTATPERITATGE IN ('COBERT_TOTAL','COBERT_PARCIAL','SENSE_COBERTURA','REPARAT')),
ESTATINFORME  VARCHAR(20),
 CONSTRAINT ESTATINFORME_CK CHECK ESTATINFORME IN ('PENDENT','TANCAT'),
 CONSTRAINT INFORMEPERICIAL_FK_PERIT FOREIGN KEY (PERIT_NO) REFERENCES PERIT (NUMERO),
 CONSTRAINT INFORMEPERICIAL_CK_INFORME_NO_NUM_POSITIU CHECK (INFORME_NO > 0)
);

But, i'm having troubles with the foreign key. 但是,我在使用外键时遇到了麻烦。

This is my ok-formed "Perit" table" : 这是我的格式正确的“ Perit”表”:

CREATE TABLE PERIT (
COGNOM1 VARCHAR(30) NOT NULL,
COGNOM2 VARCHAR(30) NOT NULL,
DATANAIX DATE NOT NULL,
NOM VARCHAR(30) NOT NULL,
NIF VARCHAR(10) NOT NULL,
LOGIN VARCHAR(50) NOT NULL,
PASSWORDMD5  VARCHAR(50) NOT NULL,
NUMERO INT(3) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (NUMERO)
);

I can't undesrtand why I'm getting the error 1005, the field-types are equals! 我无法理解为什么会出现错误1005,字段类型相等!

Issue is here: 问题在这里:

CONSTRAINT ESTATINFORME_CK CHECK ESTATINFORME IN ('PENDENT','TANCAT'),

Wrap the condition in parentheses: 将条件括在括号中:

CONSTRAINT ESTATINFORME_CK CHECK (ESTATINFORME IN ('PENDENT','TANCAT')),

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM