我有以下的表格設置(簡化的例子列名):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
。 。 '我'列。 –