mysql表中一个表中可以有多个主键吗

2024-11-07 03:27:54
推荐回答(4个)
回答(1):

数据库中的每张表只能有一个主键,不可能有多个主键。

主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

所谓的一张表多个主键,我们称之为联合主键。

注:联合主键:就是用多个字段一起作为一张表的主键。

创建联合主键:

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 ADD 
CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
(
  [字段名1],
  [字段名2]
)

回答(2):

主键只能有一个。

但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。

主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

所谓的一张表多个主键,我们称之为联合主键。

可以由多个列形成联合主键,但是主键只能有一个

回答(3):

不能,主键只能有一个。
但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。

回答(4):

主键只能有一个
可以多个字段做联合主键