
# U0400013：GaussDB KEY 分区不支持指定多列分区键
#### 描述
**数据库类型与版本**
- 源库类型与版本：MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本：GaussDB所有版本。
**语法示例**
在MySQL中，当你使用KEY分区而没有指定分区列时，MySQL会使用表的主键作为分区列，如果表没有主键，MySQL会选择一个唯一索引作为分区列（如果存在唯一索引的话）。在GaussDB中则必须指定KEY分区键或HASH分区键，且不支持指定多列，如下示例在GaussDB中将不支持。
GaussDB 集中式版（B兼容） V2.0-3.2 企业版及以上版本，GaussDB 集中式版（M兼容） V2.0-8.100 企业版及以上版本：
```
CREATE TABLE partition_by_key_test (
    id INT NOT NULL,
    name VARCHAR(20),
    sid INT NOT NULL,
    UNIQUE KEY (id, sid)
) PARTITION BY KEY(id, sid) PARTITIONS 2;
```
GaussDB 所有版本：
```
CREATE TABLE partition_by_key_test (
    id INT NOT NULL,
    name VARCHAR(20),
    sid INT NOT NULL,
    UNIQUE KEY (id, sid)
) PARTITION BY HASH(id, sid) PARTITIONS 2;
```
如果MySQL语句中指定了多列KEY分区键，或者没有指定KEY分区键，但是主键或者唯一键均为多列时，UGO无法转换该场景，将生成此错误提示。
#### 改造建议
修改"KEY分区表多列分区键"转换配置项，选择使用主键或唯一键的第一列作为分区键。请注意该修改可能会使表的数据分区与源库不一致。
