我的目的是使用这三个表并将它们共享在一起,因为它们共享一个外键(member_num)。我使用了自动增量,因此某些时候它不在我的代码中。
志愿者表:
create Table Volunteer(
member_num int not null auto_increment primary key,
firstname varchar(20) not null,
lastname varchar(20) not null,
dateofbirth date not null,
methodology varchar(40) not null,
langspoken varchar(10) not null default 'English',
langread varchar(10) not null default 'English'
);
语言表(读取)
create Table VolunteerRead(
member_num int auto_increment primary key,
lang varchar(50) default 'English'
);
语言表(说)
create Table VolunteerSpeak(
member_num int auto_increment primary key,
lang varchar(50) default 'English'
);
我正在努力并不确定如何将它们全部连接到一个表中,因为稍后我将对它们进行特定的查询。
如果有人可以帮助我,我不确定是否需要使用联接或外键。
任何帮助,一切顺利。
在我看来,您没有为用例使用适当的数据结构。 member_num
是所有三个表上的自动递增键,因此实际上无法将它们关联起来。
相反,您希望表volunteer_read
和volunteer_speak
中的外键引用volunteer
的主键(并且您可以在这些表中具有代理主键):
create table volunteer_read(
id int auto_increment primary key
member_num int references volunteer(member_num),
lang varchar(50) default 'english'
);
create table volunteer_speak(
id int auto_increment primary key
member_num int references volunteer(member_num),
lang varchar(50) default 'english'
);