MySQL 主键生成
时间: 2024-11-06 20:19:02 浏览: 15
spring boot整合mybatis利用Mysql实现主键UUID的方法
5星 · 资源好评率100%
MySQL 中主键是用来唯一标识表中每一行数据的关键字段。当创建一个表并指定某列为主键时,该列的值必须是唯一的,并且不能为空。MySQL 提供了几种主键生成的方式:
1. **自动递增** (Auto Increment): 使用 `AUTO_INCREMENT` 关键字,每当插入新行时,该列的值会自动增加。这是最常用的主键策略,特别是对于计数型ID。
示例:
```sql
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50)
);
```
2. **用户自定义序列** (Custom Sequence): 如果需要更精细的控制,可以使用存储过程或触发器来管理自定义的序列。不过这通常在数据库设计复杂的情况下才使用。
3. **联合主键** (Composite Key): 可以由两个或更多的列共同组成,每个组合的值都必须唯一。在这种情况下,所有参与联合主键的列都不能设置 `AUTO_INCREMENT`。
4. **外键引用** (Foreign Key): 当一个表的主键同时作为另一个表的外键使用时,虽然不是直接的生成,但它间接地通过关联实现了数据完整性。
选择哪种生成方式取决于实际业务需求和性能考虑。
阅读全文