📅  最后修改于: 2023-12-03 15:20:16.833000             🧑  作者: Mango
在 SQL 中,可以使用 ALTER TABLE 语句更改表的结构,包括添加、删除、修改列以及设置约束等。其中,可以使用 UNIQUE 关键词将列修改为唯一列。
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_name);
其中,table_name 是要进行更改的表名,column_name 是要更改为唯一列的列名,constraint_name 是设置的约束名,可选项。
假设有一个名为 customers 的表,有以下数据:
| id | name | email | |----|-------|------------------| | 1 | Alice | alice@example.com | | 2 | Bob | bob@example.com | | 3 | Alice | alice@foo.com |
现在需要将 email 列更改为唯一列,可以使用以下 SQL 语句:
ALTER TABLE customers
ADD CONSTRAINT unique_email UNIQUE (email);
执行成功后,再执行以下查询语句:
SELECT * FROM customers;
得到的结果为:
| id | name | email | |----|-------|------------------| | 1 | Alice | alice@example.com | | 2 | Bob | bob@example.com |
可以看到,第三行数据被删除了,因为这行数据的 email 值与第一行相同,已经违反了唯一性约束。