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

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

  1. CREATE TABLE `sample` (
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  3. `trade_no` varchar(32) NOT NULL COMMENT 'xxx',
  4. `trade_type` varchar(32) DEFAULT NULL COMMENT 'xxx',
  5. `sub_trade_type` varchar(32) DEFAULT NULL COMMENT 'xxx',
  6. `request_no` varchar(64) NOT NULL COMMENT 'xxx',
  7. `request_date` date not null DEFAULT '2000-01-01' COMMENT 'xxx',
  8. `product_code` varchar(32) DEFAULT NULL COMMENT 'xxx',
  9. `trade_channel` varchar(16) DEFAULT NULL COMMENT 'xxx',
  10. `trade_status` varchar(32) NOT NULL COMMENT 'xxx',
  11. `revoke_flag` varchar(8) DEFAULT NULL COMMENT 'xxx',
  12. `cancel_flag` varchar(8) DEFAULT NULL COMMENT 'xxx',
  13. `original_trade_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
  14. `trade_finished_date` date DEFAULT NULL COMMENT 'xxx',
  15. `pay_finish_date` date DEFAULT NULL COMMENT 'xxx',
  16. `ccy` varchar(3) NOT NULL COMMENT 'xxx',
  17. `trade_amt` bigint(16) NOT NULL COMMENT 'xxx',
  18. `discount_amt` bigint(16) DEFAULT NULL COMMENT 'xxx',
  19. `discount_info` varchar(256) DEFAULT NULL COMMENT 'xxx',
  20. `pay_amt` bigint(16) DEFAULT NULL COMMENT 'xxx',
  21. `billing_contract_no` bigint(20) not null DEFAULT 0 COMMENT 'xxx',
  22. `billing_login_name` varchar(32) DEFAULT NULL COMMENT 'xxx',
  23. `transfer_contract_no` varchar(16) DEFAULT NULL COMMENT 'xxx',
  24. `transfer_login_name` varchar(32) DEFAULT NULL COMMENT 'xxx',
  25. `transfer_flag` varchar(16) DEFAULT NULL COMMENT 'xxx',
  26. `merchant_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
  27. `merchant_trade_no` varchar(32) DEFAULT NULL COMMENT 'xxx',
  28. `merchant_name` varchar(256) DEFAULT NULL COMMENT 'xxx',
  29. `goods_info` varchar(32) DEFAULT NULL COMMENT 'xxx',
  30. `memo` varchar(256) DEFAULT NULL COMMENT 'xxx',
  31. `created_at` date NOT NULL COMMENT 'xxx',
  32. `created_by` varchar(32) NOT NULL COMMENT 'xxx',
  33. `updated_at` date NOT NULL COMMENT 'xxx',
  34. `updated_by` varchar(32) NOT NULL COMMENT 'xxx',
  35. PRIMARY KEY (id,request_date)
  36. ) ENGINE=InnoDB AUTO_INCREMENT=5731 DEFAULT CHARSET=utf8 COMMENT='xxx'
  37. partition by range (year(request_date)*100+month(request_date)) (
  38. partition p201604 values less than (201604),
  39. partition p201605 values less than (201605),
  40. partition p201606 values less than (201606),
  41. partition p201607 values less than (201607),
  42. partition p201608 values less than (201608),
  43. partition p201609 values less than (201609),
  44. partition p201610 values less than (201610),
  45. partition p201611 values less than (201611),
  46. partition p201612 values less than (201612),
  47. partition p201701 values less than (201701),
  48. partition p201702 values less than (201702),
  49. partition p201703 values less than (201703),
  50. partition p201704 values less than (201704),
  51. partition p201705 values less than (201705),
  52. partition p201706 values less than (201706),
  53. partition p201707 values less than (201707),
  54. partition p201708 values less than (201708),
  55. partition p201709 values less than (201709),
  56. partition p201710 values less than (201710),
  57. partition p201711 values less than (201711),
  58. partition p201712 values less than (201712),
  59. partition p201801 values less than (201801),
  60. partition p201802 values less than (201802),
  61. partition p201803 values less than (201803),
  62. partition p201804 values less than (201804),
  63. partition p201805 values less than (201805),
  64. partition p201806 values less than (201806),
  65. partition p201807 values less than (201807),
  66. partition p201808 values less than (201808),
  67. partition p201809 values less than (201809),
  68. partition p201810 values less than (201810),
  69. partition p201811 values less than (201811),
  70. 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. FOR ALL ENTRIES的使用

    使用FOR ALL ENTRIES时注意: 1.一定要确定要有是否为空的判断 2.一定要注明两个表之间数据的关系 eg: IF GT_TJ30T[] IS NOT INITIAL.      SELE ...

  2. Windows系统崩溃后快速恢复Oracle数据库的妙招

    Windows系统崩溃后快速恢复Oracle数据库,以下是操作步骤 假设oracle数据安装在d:\\oracle文件夹中,数据库名称orcl 1>将崩溃的数据库安装目录"d:\\or ...

  3. SQL Server 数据库备份还原常用SQL语句及注意

    1.备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和 ...

  4. migrantion

    Enable-Migrations - ConfigurationTypeName namespace.DbContext Enable-Migrations命令创建了一个新的Migrations文件 ...

  5. javascript 高级程序设计 七

    引言:好几天没有写随笔了,项目有点紧,恰好今天项目遇到了比较大阻塞,就只好来写一篇随笔来压压惊. 1.Date类型 创建一个新的Date:(除了new Date()外) var someDate = ...

  6. 杭电1518 Square(构成正方形) 搜索

    HDOJ1518 Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0)

    Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0) 33 ...

  8. 通过java.util.Properties类来读取.properties文件中key对应的value

    转:http://www.cnblogs.com/panjun-Donet/archive/2009/07/17/1525597.html

  9. MMS从Contacts中添加收件人显示email账号

    android系统默认代码,MMS中可以添加email地址作为收件人,但是从Contacts中选择收件人时却不显示email. 解决思路:为了降低修改量,在原来只搜索phoneNum的基础上,再做一次 ...

  10. .net调用word转换pdf出现80080005错误的解决办法

    检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80080005. 1:在服务器上安装offi ...