alter table sc add unique key `name_score` (`name`,`score`);中key可以省略吗
时间: 2023-10-22 14:09:50 浏览: 115
ALTER TABLE table_name
在 MySQL 中,可以将 UNIQUE 约束定义为列级别约束或表级别约束。如果您将 UNIQUE 约束定义为列级别约束,则可以在列定义中定义该约束。例如:
```
CREATE TABLE sc (
id INT PRIMARY KEY,
name VARCHAR(50),
score INT,
UNIQUE (name, score)
);
```
如果您将 UNIQUE 约束定义为表级别约束,则可以在 ALTER TABLE 语句中使用关键字 KEY 来定义该约束。例如:
```
ALTER TABLE sc ADD CONSTRAINT name_score_unique UNIQUE (name, score);
```
在这种情况下,您需要使用关键字 CONSTRAINT 来指定约束名称。因此,在您的语句中,如果要省略关键字 KEY,则需要使用 CONSTRAINT 关键字,如下所示:
```
ALTER TABLE sc ADD CONSTRAINT name_score_unique UNIQUE (name, score);
```
如果您省略 CONSTRAINT 关键字,则 MySQL 将为该约束生成一个默认名称。
阅读全文