mysql_list分区小纪(个人理解)

最近总是在list分区时发生错误,特此总结

首先创建表## 标题 mysql

CREATE TABLE `vw_village_statics` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `year` varchar(50) NOT NULL,
  `month` varchar(50) NOT NULL,
  `po_code` varchar(255) DEFAULT NULL,
  `po_id` varchar(50) DEFAULT NULL,
  `po_name` varchar(255) DEFAULT NULL,
  `need_sign_num` int(11) DEFAULT NULL,
  `sign_num` int(11) DEFAULT NULL,
  `leave_num` int(11) DEFAULT NULL,
  `lock_num` int(11) DEFAULT NULL,
  `add_time` varchar(30) DEFAULT NULL,
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`,`year`,`month`) USING BTREE,
  KEY `po_code` (`po_code`(191)),
  KEY `year` (`year`),
  KEY `month` (`month`)
) ENGINE=InnoDB AUTO_INCREMENT=739954 DEFAULT CHARSET=utf8mb4

已有数据增加分区

ALTER TABLE vw_village_statics PARTITION BY list COLUMNS (year,month) 
( PARTITION p201801 VALUES IN ( ('2018','01')));

需要注意的点

1、PRIMARY KEY必须包含需要分区的列名;
2、list分区的列名必须为联合主键或包含在联合主键内;
3、如果是多个列共同分区,list后面跟COLUMNS;
4、多列共同分区时value用括号括起来,与上面的代码呼应;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值