이 두 테이블을 연결하는 방법을 모르겠습니다. 누구든지 도와줄 수 있나요? 이 두 테이블에 관계를 추가하고 싶지만 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;
ID에
으아악ZEROFILL
를 추가하세요: