簡體   English   中英

MySQL外鍵到auto_increment字段

[英]MySQL foreign key to auto_increment field

我正在嘗試創建此表:

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

但是,我在使用外鍵時遇到了麻煩。

這是我的格式正確的“ 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)
);

我無法理解為什么會出現錯誤1005,字段類型相等!

問題在這里:

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

將條件括在括號中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM