小编Ale*_*Guz的帖子

ALTER TABLE 中的 DROP/ADD UNIQUE 约束是原子的吗?

我有UNIQUE一个表上的多个字段的约束。我想更改此约束中的字段(删除一个字段)的图像。通常我会做这样的事情:

DROP INDEX unique_name ON table_name;
CREATE UNIQUE INDEX unique_name ON table_name (field1, field2, ...);
Run Code Online (Sandbox Code Playgroud)

但这是两个语句,在执行第一个语句后将UNIQUE不再有约束,因此任何INSERT可能都可能破坏约束,直到新的UNIQUE创建的。

还有另一种方法可以做到这一点:

ALTER TABLE table_name
DROP INDEX unique_name, 
ADD CONSTRAINT unique_name UNIQUE (field1, field2, ...);
Run Code Online (Sandbox Code Playgroud)

这是一种说法。问题是:这个语句会执行原子操作吗?我所说的原子是指完全没有约束的时候就没有时间窗口UNIQUE

mysql index alter-table unique-constraint

5
推荐指数
1
解决办法
6130
查看次数

标签 统计

alter-table ×1

index ×1

mysql ×1

unique-constraint ×1