在本教程中,我们将解释主键约束PRIMARY KEY的概念,并向您展示如何为表创建主键约束。
主键约束声明一个列或多个列的组合,这些列的值惟一地标识表中的每一行。这个列或列的组合也称为表的主键。如果插入或更新会导致主键重复的行,SQL引擎将发出错误。换句话说,主键约束将帮助实现自动强制数据的完整性。
主键必须遵循以下几个规则:
在这个例中,我们创建一个日志表来存储事务日志。logs表由两列组成:logid和message。logid是logs表的主键。我们在下面的CREATE TABLE语句中将主键约束定义作为列定义的一部分:
CREATE
TABLE
logs (
logid
int
(11)
NOT
NULL
AUTO_INCREMENT
PRIMARY
KEY
,
message
char
(255)
)
logid列定义为:NOT NULL:列中的值不能为NULL(空)。在某些数据库管理系统中,如果将列定义为主键,那么会隐式地自动为其分配NOT NULL属性。AUTO_INCREMENT:每当向表中插入新行时,数据库引擎就为列生成一个序列。AUTO_INCREMENT是MySQL特有的属性。AUTO_INCREMENT属性可以在SQL server中定义为IDENTITY,在PostgreSQL中定义为SERIAL。
orderdetails (
OrderID
ProductID
UnitPrice
decimal
(19,4)
Quantity
smallint
(6)
Discount
float
(OrderID,ProductID),
在orderdetails表中,我们有一个主键,它由OrderID和ProductID两列组成。因此,必须在表级别定义主键约束。
原文链接:https://codingdict.com/