我刚刚启动MySQL数据库,但对外键可以做什么感到困惑。
假设我有一个父表(老师),而taxno是主键;
taxno Tfname Tlname Tgender Tquali Thours
1111 TOH JIM M HONOURS 120
和我的孩子表(teacsub);
taxno Tfname Tlname Tgender Tquali Thours Subtitle Subtype
例如,如果我对teacsub的输入是
taxno Tfname Tlname Tgender Tquali Thours Subtitle Subtype
1111 dddd dddd F weqwe 100 HISTORY 3
它会提示我输入的teacsub是错误的吗?
我已经为Taxno创建了外键,但仅适用于Taxno。
最佳答案
关系数据库的优点在于,使用正确构造的表,您无需像以前那样重复信息。
如果您的teacher
表包含诸如姓名,性别等信息,则无需在其他任何地方重复此信息。
例如,如果您的teacsub
表只是teacsub(taxno, subtitle, subtype)
,则可以通过将两个表与这样的查询结合在一起来获取“完整”信息:
select *
from teacher
inner join teacsub
on teacher.taxno = teacsub.taxno
这将很乐意地结束,并从两个表中共享相同的
taxno
的所有行