本文目录一览

1,SQL中什么叫主键什么是外键有啥关系

说简单点就是,主键就是唯一标识一列的约束,外键就是数据引用主键的一个约束两者的关系就是,主键值必须是唯一的,也就是不能重复,外键引用了主键,那么它的值就只能是主键中出现过的值,不能是主键未出现的值
举例来说明,你可能更容易接受 省表有字段ID Name,ID设置为主键就是说是唯一 如果城市表的PID是省表的ID,那么城市表里的PID就是省表的外键 一般来说主键对应一个或多个外键。

SQL中什么叫主键什么是外键有啥关系

2,数据库外键约束

说明send和accept都是user表的外键。constraint f_key foreign key(send) references user(username);constraint f_key2 foreign key(accept) references user(username);对于messagebox主键表就是本身嘛,外键表自然就是user表了 即user表是messagebox表的父表。
没看明白你的意思,但主键最好用与业务无关的项(加个Id),外键则是关联另一个表的Id

数据库外键约束

3,SQL 数据库 外键

首先楼主要明白不同表中的相同字段是没有任何关系的 ,然后也没看到你的B表你的问题:你的第一个问题你自己不觉得是自相矛盾吗?A表中的主键是B表的外键,那么这个外键在B表中可以是主键吗? 这句话你的意思就相当于问 主键和外键可以是一个字段吗? 那么回答肯定是否定的 。一个字段要么是主键 要么是外键 不可能又是主键又是外键 ,然后主键和主键是同一级别的 没有谁约束谁,只有主键可以约束外键,然后我给楼主讲解一下主外键的关系,不要死记硬背定义,要理解。比如a表的主键 如果是b表的外键的话 那么这个外键的每一个值都必须在a的主键里存在,如果b的这个外键定义可以为空的话,那么b这个外键的值只有两个情况:要么值在a的主键里选,要么为空。就这么简单的一句话。

SQL 数据库 外键

4,SQL语句的外键约束

create table score(课程score int)create table student(学号 int primary key,课程号 int,foreign key (课程号) references score( 课程号))--------------------------公共关键字是 课程号score 表中 的主键 课程号 是 student表中的非主键,所以score表中的课程号是表student的外键。--- 如果公共关键字在一个关系中是主键,那么这个公共关键字被称为另一个关系的外键
ALTER TABLE AA ADD CONSTRAINT FK_A FOREIGN KEY (A) REFERENCES CC (C)表字段 引用为表AA的A字段的外键,FK_A是外键约束名意思就是把表AA的A字段值域限制为表CC的C字段的值域
外键关系通俗来讲就是将两个表关联起来用的以学生和班级来举例子新建一个学生表student新建一个班级表 grade然后每个学生,都对应一个班级,比如学生a是x班,学生b也是x班,就没必要在学生表里面存储重复的班级名称,因此需要一个班级表只要存储一个班级表的id,就可以记录该学生班级的所有详细信息了关联起来显示就是:select * from student, grade where student.gradeid = grade.id通过外键关联,显示学生信息和班级信息的所有数据,并根据外键进行一一匹配

文章TAG:数据库外键是哪个约束哪个  SQL中什么叫主键什么是外键有啥关系  
下一篇