创建表,并实现字段约束,表名:students,addr与name共同组合成唯一性
时间: 2024-10-22 17:22:07 浏览: 13
MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划
在创建名为 "students" 的表时,如果想要利用 `addr` 和 `name` 这两个字段组合形成唯一的标识符,你需要在创建表的时候添加一条复合主键约束(Composite Primary Key),或者使用一个单独的唯一约束(Unique Constraint)。以下是这两种情况的SQL示例:
**方法一:复合主键(假设这两个字段作为联合主键)**
```sql
CREATE TABLE students (
id INT AUTO_INCREMENT,
num VARCHAR(16),
name VARCHAR(32),
sex ENUM('男', '女'),
age INT,
addr VARCHAR(64),
PRIMARY KEY (name, addr)
);
```
这里的 `name` 和 `addr` 合作充当一个独特的主键。
**方法二:单独的唯一约束(确保 `name` 和 `addr` 的组合在表中独一无二)**
```sql
CREATE TABLE students (
id INT AUTO_INCREMENT,
num VARCHAR(16),
name VARCHAR(32),
sex ENUM('男', '女'),
age INT,
addr VARCHAR(64),
UNIQUE (name, addr)
);
```
在这种情况下,虽然不是主键,但每个 `name` 与 `addr` 的组合都不会在表中重复。
阅读全文