2011-08-26 70 views
1

我想創建分區,但無法成功。 這裏是我的表結構Mysql Table Partioning

CREATE TABLE `bb2`.`new_table` (

    `id` INT NOT NULL AUTO_INCREMENT , 

    `dt` DATE NOt NULL , 

    PRIMARY KEY (`id`) , 

    UNIQUE INDEX `date_UNIQUE` (`dt`)) 

partition by range (to_days(dt))(
partition p0 values less than (to_days('2011-01-01')), 
partition p1 values less than MAXVALUE 
) 

具有u我怎麼能不去除原發或更改表結構的創建任何類型的分區的任何想法。

謝謝

回答

1

主鍵必須包含分區中使用的所有列。見here

這會工作:

CREATE TABLE `test`.`new_table2` (
    `id` INT NOT NULL AUTO_INCREMENT , 
    `dt` DATE NOt NULL , 
    PRIMARY KEY (`id`, `dt`) , <-- updated primary key 
    UNIQUE INDEX `date_UNIQUE` (`dt`)) 
    partition by range (to_days(dt))(
    partition p0 values less than (to_days('2011-01-01')), 
    partition p1 values less than MAXVALUE 
) 

它使你的表結構通過增加主鍵相同。