如何向测试人员介绍mysql多个主键中主键的特点

使用《mysql多个主键必知必会》中的表向表products插入数据出错:

外键关系涉及一个包含中心数据值的父表,以及一个具有相同值的子表指向其父表。这里的子表是product父表是vendors,對应列是vend_id外键子句在子表中指定,如果在父表中没有匹配的候选键值它将拒绝任何试图在子表中创建外键值的insertupdate操作。错误码:1452 本质上意味着product尝试插入的行没有匹配的行在表vendors中要在products中插入值,首先必须在vendors表中输入值并在products表中使用相同的vend_id。

发布了80 篇原创文章 · 获赞 58 · 访問量 9万+

在项目过程中遇到一个看似极为基础的问题但是在深入思考后还是引出了不少问题,觉得有必要把这一学习过程进行记录

mysql多个主键主键设计原則

  • mysql多个主键主键应当是对用户没有意义的。
  • mysql多个主键主键应该是单列的以便提高连接和筛选操作的效率
  • 永远也不要更新mysql多个主键主键
  • mysql多個主键主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等
  • mysql多个主键主键应当有计算机自动生成

1、数据库自动编号,速度快而且是增量增长,聚集型主键按顺序存放对于检索非常有利。

2、 数字型占用空间小,易排序在程序中传递方便。

1、不支持水平分片架构水平分片的设计当中,这种方法显然不能保证全局唯一

主关键字(primary key ): 是表中的一个或多个字段它的值用于唯一地标识表中的某一条记录。

外关键字(foreign key) :  是用于建立或加强两个表数据之间的链接的一列或多列

如果公共关键字在一个關系中是主关键字,那么这个公共关键字被称为另一个关系的外键由此可见,外键表示了两个关系之间的相关联系以另一个关系的外鍵作主关键字的表被称为主表(父表),具有此外键的表被称为主表的从表(子表)外键又称作外关键字。

唯一标识一条记录不能有重複的,不允许为空

表的外键是另一表的主键, 外键可以有重复的, 可以是空值

用来和其他表建立联系用的

创建学生表(父表或主表):

创建课程表(父表或主表):

创建成绩表(子表或从表):

--添加外键约束fk_sno为外键ID名,若不添加系统会自动配一个。

我要回帖

更多关于 mysql多个主键 的文章

 

随机推荐