2014-11-26 5 views
0

필드 ID, TYPE, DES, SIZE를 가진 ITEM 테이블이 있습니다. 이제 AISLE_ID, X, Y, WIDTH, HEIGHT 필드가있는 다른 테이블 AISLE의 외래 키를 추가하려고합니다. 이제 AISLE_ID가 ITEM 테이블의 외래 키가되기를 바랍니다. 이 문장을 사용했지만 AISLE_ID가 인식되지 않는다고 말했습니다. 이것은 내가 사용하는 진술입니다외래 키가있는 테이블 변경

ALTER table ITEM 
ADD FOREIGN KEY AISLE_ID(AISLE_ID) 
REFERENCES AISLE(AISLE_ID) 
ON DELETE NO ACTION 
ON UPDATE CASCADE; 

어떤 도움, 감사드립니다.

+0

하는 것처럼 거기에 외래 키를 생성 'AISLE_ID' 열은 두 테이블에 모두 존재합니까? – RandomSeed

+0

아니요! AISLE 테이블에만 있습니다. 하지만 AISLE_ID를 추가하려고했지만 다른 예외가 발생했습니다 !!! –

답변

0

문이 에 AISLE_ID 정의 유형 당 ITEM에 일치하기 때문에 다음과 같이 변경하십시오. 외래 키

ALTER TABLE ITEM ADD CONSTRAINT fk_AISLE_ID 
FOREIGN KEY (ID) references AISLE(AISLE_ID) 
ON DELETE NO ACTION 
ON UPDATE CASCADE; 

ITEM 테이블의 ID 열을 고려 할 수 있습니다뿐만 아니라 ALTERITEM 테이블과 AISLE_ID라는 이름의 열을 추가 한 다음

ALTER TABLE ITEM ADD AISLE_ID INT NOT NULL; 

ALTER TABLE ITEM ADD CONSTRAINT fk_AISLE_ID 
FOREIGN KEY (AISLE_ID) references AISLE(AISLE_ID) 
ON DELETE NO ACTION 
ON UPDATE CASCADE; 
+0

가 작동하지 않습니다 !! # 1072 - 키 열 'AISLE_ID'이 (가) 큰 테이블 –

+0

에 존재하지 않습니다. 그런 다음 어떻게 제약 조건을 추가 할 수 있습니까? 게시물에 관련된 모든 정보를 제공하는 것을 고려하십시오. NULL NOT) 표 ITEM (NULL NOT ID의 INT, \t TYPE VARCHAR (32 만들기 ITEM'가 – Rahul

+0

MY 항목 표는이 구조로 구성'테이블의 테이블 구조를 게시 DESCRIPTION VARCHAR (64) NOT NULL, 크기 FLOAT NOT NULL, 말하자면 size_type VARCHAR (4) NOT NULL, MANUFACTURE NULL NOT VARCHAR (16) SECTION VARCHAR (16) NULL NOT, 가격 FLOAT NOT NULL, LEVEL의 INT (1) NOT NULL, PRIMARY KEY (ID) , –

관련 문제