Google主要回答有关PRIMARY KEY
/ UNIQUE KEY
差异的问题。但是MySQL中的KEY
/ UNIQUE KEY
呢? MySQL中的KEY是否唯一标识一个元组?
答案 0 :(得分:2)
不,KEY
是INDEX
的别名。 INDEX
不一定是唯一的。如果KEY
(INDEX)唯一标识了一个元组(一行),则它是UNIQUE KEY
(或PRIMARY KEY
,具体取决于您定义该密钥的方式。)
答案 1 :(得分:2)
完全没有 - 带有键的列可以很容易地具有重复值,该键有助于快速访问它们。唯一键不允许在该列中插入具有已存在值的行。
答案 2 :(得分:0)
在数据库理论中,'key'是唯一约束的同义词。一些数据库管理系统使用索引(物理)来实现唯一约束(逻辑),并且被称为“唯一索引”。
对于mySQL产品,KEY
是非唯一索引的同义词,我认为其用法是违反直觉的。
答案 3 :(得分:0)
我知道这是一个老线程,但@onedaywhen在这里是正确的。在数据库理论中,术语“密钥”是指候选或超级密钥,而候选密钥是最小超级密钥。如果有几个主键,则选择主键作为候选键之一,因此“键”是唯一的。如有必要,我可以参考我在大学使用的数据库书。