mysql分区唯一索引失效_[项目踩坑] MySQL 分区:分区键和唯一索引主键的关系,解决报错 A PRIMARY KEY...

场景

【项目踩坑】Mysql分区:分区键和唯一索引主键的关系,解决报错 A PRIMARY KEY must include all columns in the table’s partitioning

今天在建立mysql 分区表,设置主键与索引时候报错

错误:

ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table’s partitioning

ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the table’s partitioning function

结论

主键必须包括表的分区函数中的所有列,一个惟一的索引必须包括表的分区函数中的所有列,是不是不太好理解意思?分区的key必须是 主键!

那就来看看分析

分析1

其实就是这么个意思:表上的每一个唯一性索引必须用于分区表的表达式上(其中包括主键索引)

下面我来举几个例子:

SQL

CREATE TABLE t1 (

id INT NOT NULL,

aid DATE NOT NULL,

bid INT NOT NULL,

PRIMARY KEY (id)

)

PARTITION BY KEY(bid)

PARTITIONS 10;

[Err] 1503 - A PRIMARY KEY must include all columns in the table’s partitioning function

SQL

CREATE TABLE t1 (

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值