抱歉,我不懂英语,但我需要帮助:(
我正在使用LIST COLUMNS按ALTER TABLE语句进行分区 我的表:
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页面找到支持。我希望你能帮助我。感谢答案 0 :(得分:2)
#1526 - 表格没有来自column_list的值的分区
错误消息告诉您,您选择用于分区的其中一列中的数据中存在值,而这些列未在您定义的分区中进行说明。
在这种情况下,“公司”字段中的某些内容无法放入任何分区。例如,在一些记录上,公司=“黑莓”。 MySQL无法将此行放入任何分区。
答案 1 :(得分:1)
LIST分区仅允许整数值。如果要使用具有varchar分区的列,请使用HASH或KEY PARTITIONS。除了分区,只能用于具有主要或唯一属性的列。