foreign key (column) references other_table(column)
如果省略列名
foreign key (col) references other_table 等价于
foreign key (col) references other_table(primary_key)
least() 和 greatest() 这两个是 PostgreSQL 核心自带的 SQL 函数
least(user_a, user_b):返回两个 UUID 中按字典序(或数值顺序)更小的那个greatest(user_a, user_b):返回两个 UUID 中更大的那个| 约束 | 含义 |
|---|---|
PRIMARY KEY |
• 唯一标识表中每一行• 隐含 NOT NULL• 一个表只能有一个主键 |
UNIQUE |
• 保证字段(或字段组合)值在表内唯一• 默认允许 NULL(多个 NULL 也算不同)• 一个表可以有多个 UNIQUE 约束 |
PRIMARY KEY
UNIQUE
email、username、sku)全表不重复时。-- 组合主键
PRIMARY KEY (col1, col2)
-- 组合唯一约束
UNIQUE (colA, colB)
其实就是把「两个(或多个)字段一起当作一个键」来保证它们组合在一起的值在全表内是唯一的。