unique_2.md 840 字节
Newer Older
M
Mars Liu 已提交
1 2 3 4
# 唯一约束

现有一个图书登记表:

M
having  
Mars Liu 已提交
5
```mysql
M
Mars Liu 已提交
6
create table book(
M
having  
Mars Liu 已提交
7
    id int primary key auto_increment,
M
Mars Liu 已提交
8 9
    title text,
    publish_at date,
M
having  
Mars Liu 已提交
10
    isbn text
M
Mars Liu 已提交
11 12 13 14 15 16 17 18 19 20
)
```

我们发现有时候客户可能会重复输入同一本书的信息,*在不修改应用层程序的前提下*,怎样约束用户不会输入同一本书?

1. 删除id列,将isbn设置为主键
2. 在 isbn 列上加唯一约束
3. 执行 `create index on book(id, title, publish_at, isbn, meta)`
4. 在 id 键上加唯一约束

M
Mars Liu 已提交
21 22
<hr/>

M
Mars Liu 已提交
23
点击进入[MySQL实战练习环境](https://mydev.csdn.net/product/pod/new?image=cimg-centos7-skilltreemysql&connect=auto&create=auto&utm_source=skill)
M
Mars Liu 已提交
24 25
* `show databases` 列出所有数据库
* `show tables` 列出所有表
M
Mars Liu 已提交
26

M
Mars Liu 已提交
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
## 答案

2

## 选项

### A

3

### B

4

### C

3 或 4

### D

3 和 4

### E

1 或 2