php mysql主键_详解mysql数据库中的主键

本文详细介绍了MySQL中主键的概念及其重要性。主键用于唯一标识表中的每一行,可以是单列或多列组合,且不允许NULL值。在创建表时,可以定义主键,例如`PRIMARY KEY (vend_id)`。对于由多个列组成的主键,如`ORDER_NUM`和`ORDER_ITEM`,它们的组合必须是唯一的。主键的定义有助于在更新或删除特定行时确保操作的准确性。此外,主键还可以设置为自增长,这将在后续的MySQL教程中进一步讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主键介绍

正如所述,主键值必须唯一。即,表中的每个行必须具有唯一的主键值。如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。

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的详解中会详细讲解到。

【相关推荐】mysql自增长AUTO_INCREMENT实例用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值