MYSQL - 什么是主键?

时间:2012-03-04 00:28:52

标签: mysql

我正在学习Mysql,我正在创建数据库。因此,在查看几个网站后,主键的定义是:

PRIMARY KEY约束唯一标识数据库表中的每条记录。

并使用如下:

    CREATE TABLE Persons
(
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    PRIMARY KEY (P_Id)          //primary key is on this line
)

但是,我仍然不知道它的用途以及我们为什么需要它。所以我的问题是。

有人可以向我解释一下主键是什么(基本英语)以及为什么我们需要一个以及它用于什么?

感谢-你。

3 个答案:

答案 0 :(得分:5)

primary keycolumn,定义为唯一标识表格中的每一行。

此外,通过将列定义为PRIMARY KEY,在定义foreign key约束时,可以在其他表中将其引用为referential integrity

答案 1 :(得分:2)

主键是行的唯一标识符。它通常由数据库管理系统自动分配(如果为该值指定自动增量)。因此,如果您有一个组织中的人员数据库,他们的主键可能是他们的员工编号。每次添加员工时,他们都会收到一个唯一的员工编号,通常是之前的员工编号+ 1。

如果没有主键,你就无法区分名为john smith的两名员工(没有其他信息)希望这一点足够清楚。

答案 2 :(得分:1)

简单来说,

主键 = NOT NULL + UNIQUE

这意味着无论哪一列被分配了主键,该列都不会接受 NULL 值,也不会接受重复的值。