Советы: постоянные, случайные или зависящие от часового пояса выражения в (под) функции разделения не допускаются - PullRequest
0 голосов
/ 19 февраля 2019

моя таблица выглядит так:

 CREATE TABLE `test1` (
         `id` int(11) NOT NULL AUTO_INCREMENT,
         `project_id` int(11) NOT NULL,
         `md5` varchar(255) NOT NULL,
         `create_time` datetime NOT NULL,
         `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
         PRIMARY KEY (`id`,`project_id`,`md5`),
         KEY `index_id` (`md5`),
        ) 

Я хочу разделить по md5 и project_id.поэтому я создаю функцию, подобную этой:

    CREATE FUNCTION f2(md5 VARCHAR(255), project_id int(11))
    RETURNS int
    return MOD(md5, 10) + project_id;

Когда я разбиваю эту таблицу, использую этот sql:

    alter table test1 partition by HASH(f2(md5, project_id)) PARTITIONS 100;

, он показывает:

 Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed.

но ответне является постоянным, случайным и часовым поясом.Так что я не знаю, как сделать с id, кто может мне помочь?Большое спасибо.

...