mysql表中一个表中可以有多个主键吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql表中一个表中可以有多个主键吗?相关的知识,希望对你有一定的参考价值。
主键只能有一个。
但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。
主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。
所谓的一张表多个主键,我们称之为联合主键。
可以由多个列形成联合主键,但是主键只能有一个
参考技术A数据库中的每张表只能有一个主键,不可能有多个主键。
主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。
所谓的一张表多个主键,我们称之为联合主键。
注:联合主键:就是用多个字段一起作为一张表的主键。
创建联合主键:
1、GUI中同时选中多列,点击设置为主键。
2、sql语句将多列设置为主键:
方法一:在建表时就写出
Create Table 表名 (字段名1 Int Not Null,字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
字段名3…………
字段名N………… )
方法二:在建表后更改
ALTER TABLE 表名 WITH NOCHECK ADDCONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[字段名1],
[字段名2]
) 参考技术B 不能,主键只能有一个。
但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。 参考技术C
外键需要主键或者该列定义的是UNIQUE 方式,所以按照上面的表方式,除非teachers162中Teacher_ID 在整张表中是唯一的,那么可以建立UNIQUE方式。
如果不是上面情况,建议拆表teachers162,建立一张teachers信息表,teachers和课程的关系表两张表。
以上是关于mysql表中一个表中可以有多个主键吗?的主要内容,如果未能解决你的问题,请参考以下文章