2017-05-15 94 views
0

我试图创建该表:MySQL的外键的auto_increment领域

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) 
); 

但是,我在与外键的麻烦。

这是我的OK-形成 “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) 
); 

我不能undesrtand为什么我收到错误1005,场类型是平等的

回答

2

问题!在这里:

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

裹在括号中的条件:

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

Still .. doesen't work – Asdemuertes

+2

@Asdemuertes - 确实如此。看到这个演示 - http://rextester.com/SHPJP10285 – GurV