powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql 5.6 partition
9 сообщений из 9, страница 1 из 1
mysql 5.6 partition
    #39305063
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,
помогите пожалуйста разобраться ,
строю табличку и пытаюсь написать добавление партиций но не выходит.
надо добавлять партицию на месяц вперед .
не могу перевести partition_description ввид даты.
в процедуре выходит ошибка с " вмеско ' ,
не понимает string .



версия 5.6.22 линукс.

CREATE TABLE `test_TST`(

`LOG_ID` bigint(20) NOT NULL AUTO_INCREMENT,

`LOG_TIME` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),

PRIMARY KEY (`LOG_ID`,`LOG_TIME`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

PARTITION BY RANGE columns (LOG_TIME)

(PARTITION p201303 VALUES LESS THAN ('2013-04-01') ENGINE = InnoDB,

PARTITION p201304 VALUES LESS THAN ('2013-05-01') ENGINE = InnoDB) ;



SELECT PARTITION_DESCRIPTION FROM `information_schema`.`PARTITIONS` where table_name='test_TST' order by partition_ordinal_position desc limit 1;

почему то возвращает NULL
SELECT str_to_date(`PARTITION_DESCRIPTION`,'%Y-%m-%d') FROM `information_schema`.`PARTITIONS` where table_name='test_TST' order by partition_ordinal_position desc limit 1



Regards,
Evgeny
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305099
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже не погружаясь в суть - где раздел для остальных данных? которые не соответствуют условиям для существующих разделов...
Ну и условие отбора для партиционирования не соответствует типу поля. Должно быть
Код: sql
1.
PARTITION BY RANGE (DATE(LOG_TIME))
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305154
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Основано на примере с документации в конце
https://dev.mysql.com/doc/refman/5.6/en/partitioning-columns-range.html

, Партиции построены к определенной задаче , и данные будут только по критерию .
суть проблемы что у меня не получается взять longtext type и конвертировать его в date .
Как добавить новую партицию основываясь на предыдущей ?
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305187
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JekaОсновано на примере с документации в концеАга, вот только в примере тип поля date, что соответствует литералу фильтров партиционирования. А у тебя тип поля datetime.
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305231
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Поправлю , но может подскажите как longtext конвертировать в дату , уже пол дня сижу и не как :(
В оракле все проще :)
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305237
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jekaможет подскажите как longtext конвертировать в дату
Покажите несколько записей своего longtext.
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305257
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
Вот с базы .


mysql> SELECT PARTITION_DESCRIPTION FROM `information_schema`.`PARTITIONS` where table_name='test_TST' order by partition_ordinal_position desc;

+-----------------------+

| PARTITION_DESCRIPTION |

+-----------------------+

| '2013-05-01' |

| '2013-04-01' |

+-----------------------+

2 rows in set (0.00 sec)



mysql> SELECT str_to_date(`PARTITION_DESCRIPTION`,'%Y-%m-%d') FROM `information_ schema`.`PARTITIONS` where table_name='test_TST' order by partition_ordinal_pos ition desc;

+-------------------------------------------------+

| str_to_date(`PARTITION_DESCRIPTION`,'%Y-%m-%d') |

+-------------------------------------------------+

| NULL |

| NULL |

+-------------------------------------------------+

2 rows in set, 2 warnings (0.00 sec)



mysql> mysql> desc `inforation_schema`.`PARTITIONS`;TIONS`

ERROR 1146 (42S02): Table 'information_ schema.PARTITIONS' doesn't exist

mysql> desc `information_schema`.`PARTITIONS`;

+-------------------------------+---------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------------------------------+---------------------+------+-----+---------+-------+

| TABLE_CATALOG | varchar(512) | NO | | | |

| TABLE_SCHEMA | varchar(64) | NO | | | |

| TABLE_NAME | varchar(64) | NO | | | |

| PARTITION_NAME | varchar(64) | YES | | NULL | |

| SUBPARTITION_NAME | varchar(64) | YES | | NULL | |

| PARTITION_ORDINAL_POSITION | bigint(21) unsigned | YES | | NULL | |

| SUBPARTITION_ORDINAL_POSITION | bigint(21) unsigned | YES | | NULL | |

| PARTITION_METHOD | varchar(18) | YES | | NULL | |

| SUBPARTITION_METHOD | varchar(12) | YES | | NULL | |

| PARTITION_EXPRESSION | longtext | YES | | NULL | |

| SUBPARTITION_EXPRESSION | longtext | YES | | NULL | |

| PARTITION_DESCRIPTION | longtext | YES | | NULL | |

| TABLE_ROWS | bigint(21) unsigned | NO | | 0 | |

| AVG_ROW_LENGTH | bigint(21) unsigned | NO | | 0 | |

| DATA_LENGTH | bigint(21) unsigned | NO | | 0 | |

| MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |

| INDEX_LENGTH | bigint(21) unsigned | NO | | 0 | |

| DATA_FREE | bigint(21) unsigned | NO | | 0 | |

| CREATE_TIME | datetime | YES | | NULL | |

| UPDATE_TIME | datetime | YES | | NULL | |

| CHECK_TIME | datetime | YES | | NULL | |

| CHECKSUM | bigint(21) unsigned | YES | | NULL | |

| PARTITION_COMMENT | varchar(80) | NO | | | |

| NODEGROUP | varchar(12) | NO | | | |

| TABLESPACE_NAME | varchar(64) | YES | | NULL | |

+-------------------------------+---------------------+------+-----+---------+-------+

25 rows in set (0.01 sec)

...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305263
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jeka,



mysql> show warnings;

+---------+------+-------------------------------------------------------------------+

| Level | Code | Message |

+---------+------+-------------------------------------------------------------------+

| Warning | 1411 | Incorrect datetime value: ''2013-05-01'' for function str_to_date |

| Warning | 1411 | Incorrect datetime value: ''2013-04-01'' for function str_to_date |

+---------+------+-------------------------------------------------------------------+

2 rows in set (0.00 sec)
...
Рейтинг: 0 / 0
mysql 5.6 partition
    #39305270
Фотография Jeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Все разобрался , не знаю почему он добовлял ' , поставил replace
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / mysql 5.6 partition
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]