让我们了解一下如何在mysql中使用外键 −
innodb表支持检查外键约束。不需要外键约束来连接两个表。它可以在定义需要使用的列时使用,用于除innodb之外的存储引擎。references tablename(colname)没有实际效果,只是向用户注释当前正在定义的列意图引用不同表中的列。
mysql不会检查确保'colname'实际上存在于'tablename'中,或者'tablename'本身是否真实存在。
在父表中,外键将充当主键。让我们看一个创建表的示例。
创建子表mysql> create table studentenrollment−> ( −> studentid int, −> studentname varchar(200), −> studentfkpk int−> );query ok, 0 rows affected (0.91 sec)
创建父表mysql> create table college−> ( −> studentfkpk int, −> courseid int, −> coursename varchar(200), −> collegename varchar(200), −> primary key(studentfkpk)−> );query ok, 0 rows affected (0.46 sec)
在父表中,列 ‘studentfkpk’ 是一个主键。我们将使用 alter 命令来添加一个外键。
以下是添加外键的语法。
syntaxalter table yourchildtablename add constraint anyconstraintnameforeign key(primary key column name for parent table)references college(primary key column name for parent table);
以上就是在 mysql 中使用外键的详细内容。