반응형
tbl_rtdata라는 테이블이 있습니다. 해당 테이블의 모든 파티션을 삭제하고 아래 방식으로 새 파티션을 만듭니다.
ALTER TABLE tbl_rtdata PARTITION BY RANGE (Month(fld_date))
SUBPARTITION BY HASH (Day(fld_date)) SUBPARTITIONS 12(
PARTITION Apr_0 VALUES LESS THAN (2012-05-01),
PARTITION May_1 VALUES LESS THAN (2012-06-01),
PARTITION Jun_2 VALUES LESS THAN (2012-07-01),
PARTITION Jul_3 VALUES LESS THAN (2012-08-01),
PARTITION Aug_4 VALUES LESS THAN (2012-09-01),
PARTITION Sep_5 VALUES LESS THAN (2012-10-01),
PARTITION Oct_6 VALUES LESS THAN (2012-11-01),
PARTITION Nov_7 VALUES LESS THAN (2012-12-01),
PARTITION Dec_8 VALUES LESS THAN MAXVALUE );
하지만 오류가 발생했습니다.
값보다 작은 값은 각 파티션에 대해 엄격하게 증가해야합니다.
쿼리에서 하위 파티션을 제거하면 'Apr_0'파티션의 VALUES 값에 INT 유형이 있어야합니다.
이 문제를 복구하려면 어떻게해야합니까?
해결 방법
매우 간단한 답을 찾았습니다. to_days 함수를 사용하십시오.
ALTER TABLE tbl_rtdata PARTITION BY RANGE (Month(fld_date))
(
PARTITION p_Apr VALUES LESS THAN (TO_DAYS('2012-05-01')),
PARTITION p_May VALUES LESS THAN (TO_DAYS('2012-06-01')),
PARTITION p_Jun VALUES LESS THAN (TO_DAYS('2012-07-01')),
PARTITION p_Jul VALUES LESS THAN (TO_DAYS('2012-08-01')),
PARTITION p_Aug VALUES LESS THAN (TO_DAYS('2012-09-01')),
PARTITION p_Sep VALUES LESS THAN (TO_DAYS('2012-10-01')),
PARTITION p_Oct VALUES LESS THAN (TO_DAYS('2012-11-01')),
PARTITION p_Nov VALUES LESS THAN (TO_DAYS('2012-12-01')),
PARTITION p_Dec VALUES LESS THAN MAXVALUE );
참조 페이지 https://stackoverflow.com/questions/11859481
반응형
'MySql' 카테고리의 다른 글
MySQL Stored Procedures, MySQL and PHP (0) | 2021.02.02 |
---|---|
MySQL Double Join (0) | 2021.02.02 |
MySQL 테이블 생성 날짜는 어떻게 알 수 있습니까? (0) | 2021.02.02 |
MySQL에서 분기의 첫 번째 날짜는 어떻게 얻습니까? (0) | 2021.02.02 |
MySQL 제한 1로 mysql 조인 (0) | 2021.02.02 |
댓글