# 复合 Primary Key

__*复合主键*__

+ 复合主键需要两列或更多列才能唯一标识行
+ 组成复合主键的各个列单独并不需要保证唯一性
+ `infromation_schema.tidb_indexes`
  + `COLUMN_NAME`
  + `SEQ_IN_INDEX`

```
CREATE TABLE `stars` (
  `name` char(20) NOT NULL DEFAULT '',
  `mass` float NOT NULL DEFAULT 0.0 COMMENT '10**24 kg',
  ...
  `distance_from_earth` float COMMENT 'light year',
  `discover_date` datetime NOT NULL,
  ~!@PRIMARY KEY (`name`, `discover_date`)@!~
);
```

-----------------------------------------------------------

name 和 discover_date 两个列共同组成了一个复合主键。
