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

mysql表中一个表中可以有多个主键吗,第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]

)

一张表只能有一个主键,但是主键可以由多个字段组成,如:

CREATE TABLE `products_description` (

`products_id` int(11) NOT NULL,

`language_id` int(11) NOT NULL default '1',

`products_name` varchar(64) NOT NULL default '',

PRIMARY KEY (`products_id`,`language_id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

可以,那叫复合主键

create table sc (

studentno int,

courseid int,

score int,

primary key (studentno,courseid) )

更详细的可以去搜复合主键的用法


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7391997.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存