参考:https://bugs.mysql.com/bug.php?id=52815

简而言之就是你建的表分区最大值不够用了

如果表有主键,那么主键必须包含分区键,分区键是主键的子集。这个应该算是局限了。

这个是正确的

CREATE TABLE IF NOT EXISTS `test_hash_part41` (

`id` int(11) NOT NULL ,

`pid` int(11) NOT NULL ,

`comment` varchar(1000) NOT NULL DEFAULT '' ,

`ip` varchar(25) NOT NULL DEFAULT '' ,

PRIMARY KEY (`id`,pid)

) ENGINE=INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1

PARTITION BY KEY(id)

PARTITIONS 3;

下面这个会ERROR 1503(HY000):A PRIMARY KEY must include all columns inthe table's partitioning function

CREATE TABLE IF NOT EXISTS `test_hash_part42` (

`id` int(11) NOT NULL ,

`pid` int(11) NOT NULL ,

`comment` varchar(1000) NOT NULL DEFAULT '' ,

`ip` varchar(25) NOT NULL DEFAULT '' ,

PRIMARY KEY (`id`)

) ENGINE=INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1

PARTITION BY KEY(id,pid)

PARTITIONS 3;

分区的sql语法

partition_options:

PARTITION BY

{ [LINEAR] HASH(expr)

| [LINEAR] KEY(column_list)

| RANGE(expr)

| LIST(expr) }

[PARTITIONS num]

[SUBPARTITION BY

{ [LINEAR] HASH(expr)

| [LINEAR] KEY(column_list) }

[SUBPARTITIONS num]

]

[(partition_definition [, partition_definition] ...)]

partition_definition:

PARTITION partition_name

[VALUES {LESS THAN {(expr) | MAXVALUE} | IN (value_list)}]

[[STORAGE] ENGINE [=] engine_name]

[COMMENT [=] 'comment_text' ]

[DATA DIRECTORY [=] 'data_dir']

[INDEX DIRECTORY [=] 'index_dir']

[MAX_ROWS [=] max_number_of_rows]

[MIN_ROWS [=] min_number_of_rows]

[TABLESPACE [=] tablespace_name]

[NODEGROUP [=] node_group_id]

[(subpartition_definition [, subpartition_definition] ...)]

subpartition_definition:

SUBPARTITION logical_name

[[STORAGE] ENGINE [=] engine_name]

[COMMENT [=] 'comment_text' ]

[DATA DIRECTORY [=] 'data_dir']

[INDEX DIRECTORY [=] 'index_dir']

[MAX_ROWS [=] max_number_of_rows]

[MIN_ROWS [=] min_number_of_rows]

[TABLESPACE [=] tablespace_name]

[NODEGROUP [=] node_group_id]

例子:

创建range分区

CREATE TABLE `testpartition` (

`id` int(11) NOT NULL AUTO_INCREMENT ,

`name` varchar(50) NOT NULL ,

`sex` int(1) NOT NULL DEFAULT '0' ,

PRIMARY KEY (`id`)

) ENGINE=Innodb DEFAULT CHARSET=utf8

PARTITION BY RANGE (id) (

PARTITION p0 VALUES LESS THAN (3),

PARTITION p1 VALUES LESS THAN (6),

PARTITION p2 VALUES LESS THAN (9),

PARTITION p3 VALUES LESS THAN (12),

PARTITION p4 VALUES LESS THAN MAXVALUE

);

插入数据

INSERT INTO testpartition (`name` ,`sex`)VALUES ('jhh', '0')

,('zhang',1),('ying',1),('aaaa',1),('bbbb',0),('test1',1),('jhh2',1)

,('jhh1',1),('test2',1),('test3',1),('test4',1),('test5',1),('jhh3',1)

,('jhh4',1),('jhh5',1),('jhh6',1),('jhh7',1),('jhh8',1),('jhh9',1)

,('jhh10',1),('jhh11',1),('jhh12',1),('jhh13',1),('jhh21',1),('jhh42',1);

可以drop 某个分区alter table drop partition p4 ;

如果是删除了最大的分区p4,导致比较大的数值没有相应的分区,会报如下类似错误的。ERROR1526(HY000):Tablehasnopartitionforvalue.

改变分区,相当于重整分区了。

mysql1526错误_mysql 分区 1526错误相关推荐

  1. mysql 常见错误_mysql常见的错误提示问题处理小结

    1.mysql服务无法启动,报1067错误 解决方案: 1).把mysql服务端解压目录新加一个my.ini文件,内容如下 [mysqld] # set basedir to installation ...

  2. mysql数据库常见的错误_MySQL数据库常见错误及解决方案

    1.MySQL无法重启问题解决Warning: World-writable config file '/etc/my.cnf' is ignored 原因 今天帮朋友维护服务器,在关闭数据库的命令发 ...

  3. mysql source 忽略错误_mysql导入忽略错误

    今天在测试机导入数据库的备份文件,因为用户名有相同的,字段又是一个唯一性的索引导致失败了,接下来吾爱编程就大家介绍一下mysql忽略错误继续执行下条命令,有需要的小伙伴可以参考一下: 1.错误提示:[ ...

  4. mysql脚本文件捕捉错误_MySQL脚本执行错误

    MySQL执行脚本发生如下错误时: ERROR 1558 (HY000): Column count of mysql.proc is wrong. Expected 20, found 16. Cr ...

  5. mysql数据库密码错误_MySQL数据库经典错误六 数据库密码忘记的问题

    数据库密码忘记的问题[root@zs ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'r ...

  6. mysql 1236错误_mysql报1236错误解决方法

    mysql slave状态如下,发现IO线程为NO状态,并且报1236错误代码 mysql> show slave status\G *************************** 1. ...

  7. mysql2003错误_mysql出现2003错误的原因及解决方法

    一.mysql数据库没有启动 启动方法: 开始->运行->services.msc 在里面找到名称为MySQL的服务,双击打开属性,点启动. 2.使用下面的命令启动net start my ...

  8. win 10 安装时候无法格式化分区,错误 0x80070057

    @[TOC]win 10 安装时候无法格式化分区,错误 0x80070057 参考: https://www.partitionwizard.com/partitionmagic/windows-co ...

  9. DG磁盘分区提示错误

    文章更新于:2020-02-26 一.当你使用 DG 分区遇到错误时 1.错误复现 2.解决办法 以管理员身份打开cmd 运行 chkdsk /f /x g:(这里的 g 替换成你要检查的盘符) 然后 ...

最新文章

  1. py文件输出结果_24python中编码格式和文件操作
  2. Python监视进程创建情况和系统服务状态
  3. mysql哨兵机制_Sentinel:万字详解微服务的哨兵机制,我跪了
  4. 点击按钮抓不到页面的参数
  5. MIND新闻推荐冠军分享细节揭秘
  6. linux 7启动xserver,linux7.x下配置nginx开机自启动
  7. 431. 将 N 叉树编码为二叉树(树+二叉树 相互转化)
  8. English语法_形容词/副词3级 - 倍数表达
  9. c+html+sdk,用C ++开发小码(Codelet)
  10. java 在图片上添加文字或图片
  11. 数据挖掘招聘关键字分析
  12. ip地址、子网掩码及ip地址的相关计算
  13. 大厂面试必考题:三行布局之圣杯布局和双飞翼布局的区别
  14. monkey测试中防止关闭WIFI的方法
  15. linux如何配置ipv6DNS,linuxipv6dns服务器配置.doc
  16. Android 网络图片,gif 下载并保存到相册
  17. 云服务器CentOS永久更改主机名
  18. 知网、维普、万方文献一网打尽免费下载,亲测好用哦!
  19. 基于51单片机煤气天然气有毒气体检测系统蓝牙手机通信proteus仿真原理图PCB
  20. Mybatis Plus 自定义SqlInjector sql注入器

热门文章

  1. python画一束花_用python画一朵玫瑰花,拿去表白趴-Go语言中文社区
  2. 三级数据库还是linux好,08年计算机三级数据库辅导:如何修改Linux下MySQL5.0的默认连接数...
  3. 突然决定,送一台笔记本!
  4. 蓝桥杯-用宏求球的体积(java)
  5. [转]查询oracle数据库的数据库名、实例名、ORACLE_SID
  6. 事务复制提示初始快照不可用_谈谈数据库的事务ACID
  7. 嵌入式linux 分区挂载,嵌入式linux系统的开发——文件系统的分区和挂载
  8. 优点 spark_spark(一)
  9. 网工路由基础(5)ISIS协议
  10. All in one:如何搭建端到端可观测体系