>  Q&A  >  본문

기본 키에 ID와 접두사가 있는 경우 이 두 테이블에 관계를 어떻게 추가할 수 있나요?

이 두 테이블을 연결하는 방법을 모르겠습니다. 누구든지 도와줄 수 있나요? 이 두 테이블에 관계를 추가하고 싶지만 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粉675258598P粉675258598400일 전500

모든 응답(1)나는 대답할 것이다

  • P粉494151941

    P粉4941519412023-09-16 09:31:19

    ID에 ZEROFILL를 추가하세요:

    으아악

    회신하다
    0
  • 취소회신하다