SQL PRIMARY KEY 约束

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

  • 主键必须包含唯一的值。

  • 主键列不能包含 NULL 值。

  • 每个表都应该有一个主键,并且每个表只能有一个主键。

CREATE TABLE 时的 SQL PRIMARY KEY 约束

-- ----------------------------
-- 新闻分类表
-- ----------------------------
CREATE TABLE IF NOT EXISTS pangugle_news_category (
  category_id           int(11) NOT NULL AUTO_INCREMENT,
  category_title        varchar(50) NOT NULL DEFAULT '',
  category_desc         varchar(255) NOT NULL DEFAULT '',
  category_createtime   datetime NOT NULL ,
  category_admin				varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (category_id),
  INDEX pangugle_news_category_createtime(category_createtime),
  INDEX pangugle_news_category_admin(category_admin),
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

这张新闻分类表 pangugle_news_category 设置了一个自增主键

PRIMARY KEY (category_id),

ALTER TABLE 时的 SQL PRIMARY KEY 约束

当表已被创建时,如需在 "P_Id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE pangugle_news_category
ADD PRIMARY KEY (category_id)

撤销 PRIMARY KEY 约束

如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:

ALTER TABLE pangugle_news_category
DROP PRIMARY KEY