ERROR 1105 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function

MySQL里面主键及唯一索引都需要包含分区键,否则均会报错

CREATE TABLE `sample` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`trade_no` varchar(32) NOT NULL COMMENT 'xxx',
`trade_type` varchar(32) DEFAULT NULL COMMENT 'xxx',
`sub_trade_type` varchar(32) DEFAULT NULL COMMENT 'xxx',
`request_no` varchar(64) NOT NULL COMMENT 'xxx',
`request_date` date not null DEFAULT '2000-01-01' COMMENT 'xxx',
`product_code` varchar(32) DEFAULT NULL COMMENT 'xxx',
`trade_channel` varchar(16) DEFAULT NULL COMMENT 'xxx',
`trade_status` varchar(32) NOT NULL COMMENT 'xxx',
`revoke_flag` varchar(8) DEFAULT NULL COMMENT 'xxx',
`cancel_flag` varchar(8) DEFAULT NULL COMMENT 'xxx',
`original_trade_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
`trade_finished_date` date DEFAULT NULL COMMENT 'xxx',
`pay_finish_date` date DEFAULT NULL COMMENT 'xxx',
`ccy` varchar(3) NOT NULL COMMENT 'xxx',
`trade_amt` bigint(16) NOT NULL COMMENT 'xxx',
`discount_amt` bigint(16) DEFAULT NULL COMMENT 'xxx',
`discount_info` varchar(256) DEFAULT NULL COMMENT 'xxx',
`pay_amt` bigint(16) DEFAULT NULL COMMENT 'xxx',
`billing_contract_no` bigint(20) not null DEFAULT 0 COMMENT 'xxx',
`billing_login_name` varchar(32) DEFAULT NULL COMMENT 'xxx',
`transfer_contract_no` varchar(16) DEFAULT NULL COMMENT 'xxx',
`transfer_login_name` varchar(32) DEFAULT NULL COMMENT 'xxx',
`transfer_flag` varchar(16) DEFAULT NULL COMMENT 'xxx',
`merchant_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
`merchant_trade_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
`merchant_name` varchar(256) DEFAULT NULL COMMENT 'xxx',
`goods_info` varchar(32) DEFAULT NULL COMMENT 'xxx',
`memo` varchar(256) DEFAULT NULL COMMENT 'xxx',
`created_at` date NOT NULL COMMENT 'xxx',
`created_by` varchar(32) NOT NULL COMMENT 'xxx',
`updated_at` date NOT NULL COMMENT 'xxx',
`updated_by` varchar(32) NOT NULL COMMENT 'xxx',
PRIMARY KEY (id,request_date)
) ENGINE=InnoDB AUTO_INCREMENT=5731 DEFAULT CHARSET=utf8 COMMENT='xxx'
partition by range (year(request_date)*100+month(request_date)) (
partition p201604 values less than (201604),
partition p201605 values less than (201605),
partition p201606 values less than (201606),
partition p201607 values less than (201607),
partition p201608 values less than (201608),
partition p201609 values less than (201609),
partition p201610 values less than (201610),
partition p201611 values less than (201611),
partition p201612 values less than (201612),
partition p201701 values less than (201701),
partition p201702 values less than (201702),
partition p201703 values less than (201703),
partition p201704 values less than (201704),
partition p201705 values less than (201705),
partition p201706 values less than (201706),
partition p201707 values less than (201707),
partition p201708 values less than (201708),
partition p201709 values less than (201709),
partition p201710 values less than (201710),
partition p201711 values less than (201711),
partition p201712 values less than (201712),
partition p201801 values less than (201801),
partition p201802 values less than (201802),
partition p201803 values less than (201803),
partition p201804 values less than (201804),
partition p201805 values less than (201805),
partition p201806 values less than (201806),
partition p201807 values less than (201807),
partition p201808 values less than (201808),
partition p201809 values less than (201809),
partition p201810 values less than (201810),
partition p201811 values less than (201811),
partition p201812 values less than (201812));

分区表主键不包含分区键报错ERROR 1105 (HY000)的更多相关文章

  1. mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    注:本文来源于<  mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy r ...

  2. mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for 'XXXX'@'XXXX'

    创建用户: create user 'test'@'%' identified by 'test'; 显示ERROR 1396 (HY000): Operation CREATE USER faile ...

  3. MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong.

    MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong. 1.今天在使用MySQL创建数据库时出现如下报错: mysql> ...

  4. 解决MySQL报错ERROR 2002 (HY000)【转】

    今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...

  5. 第一次登录mysql,使用任何命令都报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    问题: 使用临时密码登录成功后,使用任何myql命令,例如show databases;都提示下面的报错 ERROR 1820 (HY000): You must reset your passwor ...

  6. mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for 'XXXX'@'XXXX'(转载)

    创建用户: create user ‘test’@’%’ identified by ‘test’; 显示ERROR 1396 (HY000): Operation CREATE USER faile ...

  7. MySQL5.7 报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement

    MySQL5.7 报错 : ERROR 1820 (HY000): You must reset your password using ALTER USER statement before exe ...

  8. mysql-创建用户报错ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost'

    创建用户: create user ‘test’@’%’ identified by ‘test’; 显示ERROR 1396 (HY000): Operation CREATE USER faile ...

  9. MySQL报错ERROR 1436 (HY000): Thread stack overrun:

    今天搭私服的时候,卡在角色创建画面,日志报错如上. 这是MySQL报错ERROR 1436 (HY000): Thread stack overrun:   修改方法 vim /etc/my.cnf ...

随机推荐

  1. JSP中的数据库操作,MySQL基础操作(一)

    一.JDBC JDBC(java data base concectivity),是一种用于执行SQL语句的java API,可以为多种关系库提供统一访问. 通常使用JDBC完成以下操作: 1)同数据 ...

  2. linux下查看项目端口号,杀掉对应端口号的方法

    查看端口号:netstat -anp 结束端口号:sudo iptables -A INPUT -p tcp --dport 8012 -j DROP"

  3. delete,truncate 和 delete之间的区别

    1.首先看下语法定义: drop table_name truncate table_name delete table_name [where column_name = value] 2.各个删除 ...

  4. Selenium + Python + Firefox

    按网上教程搭建好环境后,执行下面的代码出现了错误: 测试代码如下: from selenium import webdriver driver=webdriver.Firefox() driver.g ...

  5. Javascript 四种输出方式

    JavaScript 输出 javascript 没有任何打印或输出的函数 可以通过不同的方式输出数据 使用window.alert() 弹出警告框 使用document.write()方法将内容写到 ...

  6. 洛谷1066 2^k进制数

    原题链接 大力猜结论竟然猜对了.. 对于一对\(k,w\),我们可以把\(w\)位划分成\(k\)位一段的形式,每一段就是转换成十进制后的一位,这个从题面的解释中应该可以理解. 先不考虑可能多出(即剩 ...

  7. 看懂 Fiddler 的瀑布图

    最近准备给组内的新同学们分享下 Fiddler 这枚神器,可以讲的地方太多,我打算把一节课讲不完的内容写在博客上,大家可以随便看看.今天先介绍下 Fiddler 的瀑布图. 每个网络请求都会经历域名解 ...

  8. Servlet开发的三种方法

    第一种 实现 Servlet 接口,需要覆写 Servlet 的5个方法,并将ServletConfig对象保存到类级变量中 package app01a; import java.io.IOExce ...

  9. [Robot Framework] Robot Framework怎么调试?

    Robot Framework怎么debug? 在eclipse里面安装一个插件,就可以debug robot framework的project. 插件下载地址: https://github.co ...

  10. Internet

    0x01 URL的解析/反解析/连接 解析 urlparse()--分解URL # -*- coding: UTF-8 -*- from urlparse import urlparse url = ...