gpt4 book ai didi

MySQL:更改表创建分区给出主键错误

转载 作者:行者123 更新时间:2023-11-29 11:31:36 25 4
gpt4 key购买 nike

我需要使用 LIST COLUMNS 分区对 MySQL 表进行分区。我已经有了包含数据的表,因此我需要更改表来创建分区。

这就是我正在做的事情。

示例架构:

CREATE TABLE mytable (
id bigint(20) primary key auto_increment,
.....
status varchar(10)
);

更改我正在使用的表脚本:

ALTER TABLE mytable PARTITION BY LIST COLUMNS (status) 
(
PARTITION p1 VALUES IN (NULL),
PARTITION p2 VALUES IN ('SUCCESS'),
PARTITION p3 VALUES IN ('FAILED')
);

错误:主键必须包含表分区函数中的所有列

但是,当我尝试创建一个没有 id 列的表时,如下所示:

CREATE TABLE mytable (
status varchar(10)
);

然后尝试使用上面相同的更改脚本创建分区,它成功了。那么,我是否遗漏了 table 上带有 id 的任何内容?

SQLFiddle:

工作中:http://sqlfiddle.com/#!9/c8a3d1

不工作:http://sqlfiddle.com/#!9/d06a1

最佳答案

好的,我想我找到了解决方案。我不得不更改主键。主键应包含 id 和 status 列,以便根据状态进行分区。

关于MySQL:更改表创建分区给出主键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37313217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com