我在上网课的时候听到老师说外键的取值为空值或者被参照表中的某个元组的主码值。而主码值就是能独立标识一个元组和其他元组不同的元素。可以是主键,也可以是其他的,也可以是多个。所以就想,那么一个表的外键绑定的属性必须是被参照表的主键吗?
先创建一个数据库
然后创建一个数据表
创建被参照的数据表
将两个数据表里面填一点数据
设置表,将“性别”字段设置为外键
此时按保存键,并没有跳出错误提示,说明保存成功。
说明了一个表的外键所参考的字段不一定是要另一个表的主键!
但是如果我们给sex表中的“编号”中“03”改成“02”的话,就会出现错误
也就会让外键失效。
也就是说数据表外键参考的字段不一定是要其他表的主键,但是必须是能独特标识出这一行和其他行的独特之处的属性!