在mysql中,说我有:
create table users(
id not null
)
假设我需要将id作为主键。有什么区别:
create table users(
id primary key not null
)
和
create table users(
id not null
primary key (id))
和
create table users(
id not null
constraint pk primary key (id))
在这种情况下,我一直在寻找约束的含义,但我只是找到了如何使用它们,而不是它实际上是什么。
答案 0 :(得分:1)
主键是not null
和unique
。所以,这与主键非常相似:
create table users (
id int not null unique
)
主键的另一个附加功能是它通常也是表的聚簇索引。
主键声明是约束。它具有以下属性:
not null
。此外,主键列通常形成聚簇索引。
除第三个条件外,可以使用多个约束声明来声明它们。