首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

问个 关于分区的有关问题.

2012-04-26 
问个 关于分区的问题...SQL codeCREATE TABLE `tushumulu` (`id` int(11) NOT NULL,//想设置为自动增涨的`

问个 关于分区的问题...

SQL code
CREATE TABLE `tushumulu` (  `id` int(11) NOT NULL,      //想设置为自动增涨的  `isbn` int(11) NOT NULL,         //这个字段值会重复的  `juan` varchar(30) NOT NULL,     //这个字段值会重复的  `zhangjie` varchar(60) NOT NULL, //这个字段值会重复的  `yeshu` varchar(100) NOT NULL, //这个字段值会重复的  `contents` varchar(200) NOT NULL, //这个字段值会重复的  `zishu` int(5) NOT NULL,  `gengxinshijian` datetime NOT NULL //这个不会) ENGINE=InnoDB DEFAULT CHARSET=utf8PARTITION BY RANGE (isbn)(PARTITION p0 VALUES LESS THAN (1100) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1200) ENGINE = InnoDB, PARTITION p2 VALUES LESS THAN (1300) ENGINE = InnoDB, PARTITION p3 VALUES LESS THAN (1400) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (1500) ENGINE = InnoDB, PARTITION p5 VALUES LESS THAN (1600) ENGINE = InnoDB, PARTITION p6 VALUES LESS THAN (1700) ENGINE = InnoDB, PARTITION p7 VALUES LESS THAN (1800) ENGINE = InnoDB, PARTITION p8 VALUES LESS THAN (1900) ENGINE = InnoDB, PARTITION p9 VALUES LESS THAN (2000) ENGINE = InnoDB )


我想把 id 字段设置为 自动增加的 可是会报错. 要怎么解决呢?
#1503 - A PRIMARY KEY must include all columns in the table's partitioning function.



[解决办法]
改为如下即可
SQL code
mysql> CREATE TABLE `tushumulu` (    ->   `isbn` int(11) NOT NULL primary key,    ->   `juan` varchar(30) NOT NULL,    ->   `zhangjie` varchar(60) NOT NULL,    ->   `yeshu` varchar(100) NOT NULL,    ->   `contents` varchar(200) NOT NULL,    ->   `zishu` int(5) NOT NULL,    ->   `gengxinshijian` datetime NOT NULL    -> ) ENGINE=InnoDB    -> PARTITION BY RANGE (isbn)    -> (PARTITION p0 VALUES LESS THAN (1100) ENGINE = InnoDB,    ->  PARTITION p1 VALUES LESS THAN (1200) ENGINE = InnoDB,    ->  PARTITION p2 VALUES LESS THAN (1300) ENGINE = InnoDB,    ->  PARTITION p3 VALUES LESS THAN (1400) ENGINE = InnoDB,    ->  PARTITION p4 VALUES LESS THAN (1500) ENGINE = InnoDB,    ->  PARTITION p5 VALUES LESS THAN (1600) ENGINE = InnoDB,    ->  PARTITION p6 VALUES LESS THAN (1700) ENGINE = InnoDB,    ->  PARTITION p7 VALUES LESS THAN (1800) ENGINE = InnoDB,    ->  PARTITION p8 VALUES LESS THAN (1900) ENGINE = InnoDB,    ->  PARTITION p9 VALUES LESS THAN (2000) ENGINE = InnoDB    ->  );Query OK, 0 rows affected (1.25 sec)mysql>
[解决办法]
PARTITION BY RANGE (id,isbn)

热点排行