2021-02-16 13:04:27
MySQL 中与自增约束相关的关键词主要包括以下三个:
AUTO_INCREMENT用于定义自增列,插入新行时自动生成递增的唯一值。仅适用于整数类型(如 TINYINT、INT、BIGINT)。每次插入若未指定该列值,系统会自动分配当前最大值 +1。
PRIMARY KEY可与 AUTO_INCREMENT 结合使用,将自增列设为主键。主键要求非空且唯一,确保每行数据有唯一标识。例如:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL);UNIQUE自增列也可设为唯一索引(UNIQUE),允许 NULL 值(但非 NULL 值必须唯一)。与主键的区别在于唯一索引不强制非空。例如:
CREATE TABLE products ( code INT AUTO_INCREMENT UNIQUE, name VARCHAR(100) NOT NULL);主键(PRIMARY KEY)自动隐含唯一性且非空。
唯一索引(UNIQUE)允许空值,但重复非空值会报错。
通过合理组合这些关键词,可以灵活设计满足唯一性、标识性需求的数据表结构。