
外键是一种约束类型,可用于维护表之间的完整性。如果我们为一个表创建外键,那么该表称为子表,而第二个表称为父表。
在父表中,外键将充当主键。让我们创建一个表。
创建子表。
%ign%ignore_a_1%re_pre_1%创建父表
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 命令添加外键。
以下是添加外键的语法。
ALTER table yourChildTableName add constraint anyConstraintNameforeign key(primary key column name for parent table) references College(primary key column name for parent table);
以下是上述语法在以下查询中的实现。
mysql> alter table StudentEnrollment add constraint StudCollegeConst foreign key(StudentFKPK) references College(StudentFKPK);Query OK, 0 rows affected (1.78 sec)Records: 0 Duplicates: 0 Warnings: 0
检查外键约束是否存在的语法。
SELECT TABLE_NAME, COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NA FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHER REFERENCED_TABLE_NAME = 'yourParentTableName or your referencedTableName';
上面的语法在下面的查询中实现。
mysql> SELECT -> TABLE_NAME, -> COLUMN_NAME, -> CONSTRAINT_NAME, -> REFERENCED_TABLE_NAME, -> REFERENCED_COLUMN_NAME -> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE -> WHERE -> REFERENCED_TABLE_NAME = 'College';
这是输出。
+-------------------+-------------+------------------+-----------------------+------------------------+| TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |+-------------------+-------------+------------------+-----------------------+------------------------+| StudentEnrollment | StudentFKPK | StudCollegeConst | College | StudentFKPK |+-------------------+-------------+------------------+-----------------------+------------------------+1 row in set, 2 warnings (0.03 sec)
我们有一个名为 StudentFKPK 的列,CONSTRAINT_NAME 是 StudCollegeConst。
以上就是MySQL 中外键的基础知识?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/113853.html
微信扫一扫
支付宝扫一扫