我需要在脑海中清除以下内容。
当我创建一个没有主键或唯一约束的表时,我得到一个平面文件。
当我创建主键时,会创建一个主索引,并且正是这个索引维护了主键的唯一性,对吗?所以我不能添加重复的值。
因此,如果我在任何列上创建索引,这是否会强制该列具有唯一值?或者这取决于使用关键字UNIQUE
创建索引?
最后,每次我声明一个具有UNIQUE
约束的列时,这是否意味着创建了一个索引,因此这些操作是可以互换的?
我需要在脑海中清除以下内容。
当我创建一个没有主键或唯一约束的表时,我得到一个平面文件。
当我创建主键时,会创建一个主索引,并且正是这个索引维护了主键的唯一性,对吗?所以我不能添加重复的值。
因此,如果我在任何列上创建索引,这是否会强制该列具有唯一值?或者这取决于使用关键字UNIQUE
创建索引?
最后,每次我声明一个具有UNIQUE
约束的列时,这是否意味着创建了一个索引,因此这些操作是可以互换的?
当我创建主键时,会创建一个主索引,并且正是这个索引维护了主键的唯一性,对吗?
是的,尽管主键索引与唯一索引并不完全相同(它比“常规”唯一索引具有某些优先级。
因此,如果我在任何列上创建索引,这是否会强制该列具有唯一值?或者这取决于使用关键字 UNIQUE 来创建索引?
除非您显式使用UNIQUE INDEX
.
最后,每次我声明一个具有 UNIQUE 约束的列时,这是否意味着创建了一个索引,因此这些操作是可以互换的?
唯一约束是通过UNIQUE INDEX
. 它们是一回事。