1

对不起,我不懂英语,但我需要帮助:(

我通过 ALTER TABLE 语句使用 LIST COLUMNS 分区我的表:

table member_list: 
id int,
name varchar(255),
company varchar(255),
cell_phone varchar(20)

没有关键我目前有超过 900.000 条记录。插入后,我尝试按 LIST COLUMNS 分区表:

alter table member_list
partition by list columns(company)(
    partition p1 values in ('Lavasoft','Cakewalk','Lycos'),
    partition p2 values in ('Adobe','Vivoo','Apple Systems','Sibelius'),
    partition p3 values in ('Finale','Borland','Macromedia','FPT'),
    partition p4 values in ('Chami','Yahoo','Google','Altavista')
)

运行后:

#1526 - 表没有来自 column_list 的值的分区

MySQL 向我返回了这个错误,我无法从 Oracle 页面找到支持。我希望你能帮助我。谢谢

4

2 回答 2

3

#1526 - 表没有来自 column_list 的值的分区

错误消息告诉您,在您为分区选择的列之一中的数据中存在一个值,该值未在您定义的分区中考虑。

在这种情况下,“公司”字段中有一些内容不能放入任何分区中。例如,根据某些记录,company="Blackberry"。MySQL 不能将此行放入您的任何分区中。

于 2015-03-12T03:25:32.220 回答
1

LIST 分区只允许整数值。如果要使用带有 varchar 分区的列,请使用 HASH 或 KEY PARTITIONS。此外,分区只能用于具有主要或唯一属性的列。

于 2014-01-15T10:38:30.540 回答