我有以下的表格设置(简化的例子列名):MySQL的 - 唯一索引必须包括表的分区函数的所有列
CREATE TABLE data_2016
(`a` INTEGER ,
`b` INTEGER,
`c` VARCHAR(255),
`d` BIGINT,
`e` VARCHAR(255) NOT NULL,
`f` INTEGER ,
`g` BIGINT ,
`h` BIGINT ,
`i` SERIAL,
PRIMARY KEY (`d`,`i`),
UNIQUE KEY(`b`, `c`, `d`, `e`, `f`,`g`,`h`,`i`),
INDEX `idx1` (`b`,`c`)
)
PARTITION BY RANGE (`d`) (
PARTITION p1 VALUES LESS THAN (...)
...
PARTITION px VALUES LESS THAN (MAXVALUE)
)
但我得到异常A UNIQUE INDEX must include all columns in the table's partitioning function
我通过文档阅读,并从我可以告诉,我做有正确的设置。分区列d
包含在PRIMARY KEY
和UNIQUE KEY
定义中。我在这里做错了什么?
我认为在这种情况下,唯一索引指的是主键,而不是唯一的关键。 –
@GordonLinoff但分区列在 – aarbor
。 。 '我'列。 –