我想不出怎么把这两张table连起来。有人能帮忙吗?我想在这两个表中添加一个关系,但由于我使用id和prefix作为主键,它不接受它作为外键。我总是得到“外键约束格式不正确”。
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;
1条答案
按热度按时间a8jjtwal1#
将
ZEROFILL
添加到您的ID: