我将详细阐述我的问题,如果我在生产中有一个活的数据库,并且我想从其中一个表中删除一个唯一的键,不管是非复合的唯一键还是复合的键,这会带来什么问题吗?
我认为这不会带来任何问题,但我想和这里的DB专家反复检查一下。
至于复合唯一键问题,我想要删除它,因为我想在复合唯一键中添加一个新列。
所以这个:
UNIQUE KEY `composite_key` (`username`, `email`),变成这样:
UNIQUE KEY `composite_key` (`username`, `email`, `age`),有没有一种方法可以将列“添加”到复合唯一键中?还是先删除它,然后定义/添加这3个新列的一个新的唯一键组合?再一次,如果我这样做,会不会有问题?
谢谢。
发布于 2017-04-18 15:35:39
如果执行依赖键的查询,则从移除旧键到添加新键之间可能会出现性能问题。但否则我认为应该是安全的。如果外键是必需的,我怀疑(或者至少希望)它不会允许你移除它。
与其删除旧键,然后添加新键,不如先添加新键(您必须给它一个不同的名称),然后删除旧的键。唯一的缺点是重叠期间存储量增加。
https://stackoverflow.com/questions/43476380
复制相似问题