0

데이터베이스에 두 개의 테이블이 있습니다.합성 키를 외래 키로 사용하는 방법은 무엇입니까?

이 스키마입니다 ...

CREATE TABLE Receipt (
ReceiptID VARCHAR(50), 
ProductNo SMALLINT, 
ProductBarcode SMALLINT, 
FOREIGN KEY (productNo, productBarcode) REFERENCES Receipt(productNo, productBarcode), 
PRIMARY KEY (receiptID) 
); 

CREATE TABLE Product (
ProductNo SMALLINT, 
ProductBarcode SMALLINT, 
PRIMARY KEY (productNo, productBarcode) 
); 

내가 MySQL을 사용하고 난 복합 키를 사용하여 약간의 도움이 필요합니다.

누군가 나를 도와 줄 수 있으면 감사하겠습니다. 테이블을 만들 때 제약 조건을 만드는 ----

CREATE TABLE Receipt 
(
ReceiptID VARCHAR(50), 
ProductNo SMALLINT, 
ProductBarcode SMALLINT, 

PRIMARY KEY (receiptID), 
INDEX (productNo, productBarcode) 

FOREIGN KEY (productNo, productBarcode) 
REFERENCES Receipt(productNo, productBarcode) 
); 

을 -

- :

답변

0

는 MySQL 데이터베이스에 복합 키를 생성하는 구문은 상황에

CONSTRAINT constraint_name PRIMARY KEY (col_1,col_2,col_3) 

입니다 - 기존 테이블에 제약 조건 추가 ----
ALTER TABLE Receipt ADD [제약 조건 [constraint_nam e]] 외부 키 (productNo, productBarcode) 참조 사례 (productNo, productBarcode)

+0

이 경우 어떻게 외래 키로 사용합니까? – user3460937

+0

어떤 테이블과 어떤 컬럼 이름으로 외래 키를 원합니까? –

+0

영수증 테이블에 외래 키가 필요합니다. – user3460937