主表中未设置主键,在建立关系时就会这样显示。一般来说,主表中都有一个字段是不重复的,用它来做主键。如学生表中的学生编号是唯一的,不重复的,就可做主键。
如果没设置主键,学生编号重复,当它与其它表(如成绩表)中的学生编号建立关系时,就会显示学生表中的引用字段(学生编号)找不到唯一索引。
扩展资料:
遵循原则
建立主键应该遵循的原则
1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2. 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4. 主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科-主键
2013-04-02
簇聚索引等等