기본 키에 ID와 접두사가 있는 경우 이 두 테이블에 관계를 어떻게 추가할 수 있나요?
P粉675258598
P粉675258598 2023-09-15 15:03:48
0
1
529

이 두 테이블을 연결하는 방법을 모르겠습니다. 누구든지 도와줄 수 있나요? 이 두 테이블에 관계를 추가하고 싶지만 ID와 접두사를 기본 키로 사용하고 있으므로 외래 키로 허용되지 않습니다. "외래 키 제약 조건이 잘못되었습니다."라는 메시지가 계속 표시됩니다.

CREATE TABLE Donor (
    id int(3) ZEROFILL NOT NULL AUTO_INCREMENT,
    prefix varchar(5) NOT NULL DEFAULT 'D',
    name varchar(50) NOT NULL,
    PRIMARY KEY (id, prefix)
  );
    
INSERT INTO Donor (name) VALUES
('Product #1'),
('Product #2');

SELECT CONCAT(prefix,id) as "DonorID", name FROM Donor;

CREATE TABLE Blood_Type (
    btid int(3) ZEROFILL NOT NULL AUTO_INCREMENT,
    btprefix varchar(5) NOT NULL DEFAULT 'BT',
    id int(3) NOT NULL,
    prefix varchar(5) NOT NULL DEFAULT 'D',
    name varchar(50) NOT NULL,
    PRIMARY KEY (btid, btprefix),
    foreign key (id, prefix) references Donor(id, prefix)
  );
    
INSERT INTO Blood_Type (name) VALUES
('Blood #1'),
('Blood #2');

SELECT CONCAT(btprefix, btid) as "bloodID", name FROM Blood_Type;

P粉675258598
P粉675258598

모든 응답(1)
P粉494151941

ID에 ZEROFILL를 추가하세요:

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿