详细说明mysql数据库中的主键
发表时间:2023-09-07 来源:明辉站整理相关软件相关文章人气:
[摘要]主键介绍正如所述,主键值必须唯一。即,表中的每个行必须具有唯一的主键值。如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。mysql主键的作用唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。迄今...
主键介绍正如所述,主键值必须唯一。即,表中的每个行必须具有唯一的主键值。如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。
mysql主键的作用
唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。
迄今为止我们看到的 CREATE TABLE 例子都是用单个列作为主键。其中主键用以下的类似的语句定义:
PRIMARY KEY (vend_id )
为创建由多个列组成的主键,应该以逗号分隔的列表给出各列名,如下所示:
create table orderitems
(
order_num int NOT NULL,
order_item int NOT NULL,
prod_id char(10) NOT NULL,
quantity int NOT NULL,
item_price decimal(8,2) NOT NULL,
PRIMARY KEY (order_num,order_item)
)ENGINE = InnoDB;
orderitems 表包含orders表中每个订单的细节。每个订单有多项物品,但每个订单任何时候都只有1个第一项物品,1个第二项物品,如此等等。因此,订单号( order_num 列)和订单物品( order_item 列)的组合是唯一的,从而适合作为主键,其定义为:
PRIMARY KEY ( order_num,order_item)
主键可以在创建表时定义(如这里所示),或者在创建表之后定义。
主键和 NULL 值 主键为其值唯一标识表中每个行的列。主键中只能使用不允许 NULL 值的列。允许 NULL 值的列不能作为唯一标识。
关于主键自增长,我们会在mysql创建数据表中使用AUTO_INCREMENT的详解中会详细讲解到。
【相关推荐】
php中文网特别推荐:php程序员工具箱下载(一键搭建php环境)
mysql自增长AUTO_INCREMENT实例用法
以上就是详解mysql数据库中的主键的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。