分区Not allowed to use NULL value in VALUES LESS THAN
格式:
lisit类型 , RANGE型 , key型都是不同得格式.
1.注意TO_DATS(‘时间’),要有 ’ ,
2.不能出现日历中没有的日期 ,如yyyy-2-30, ,
#key形式
create table lte19990103(
textid
INT(11) NOT NULL ,
time
DATETIME,
string
VARCHAR(50) NOT NULL,
PRIMARY KEY(textid,time)
)
ENGINE = InnoDB
PARTITION BY RANGE (TO_DAYS(time))
(
PARTITION lte19990101 VALUES LESS THAN (TO_DAYS(‘1999-01-07’)),
PARTITION lte19990103 VALUES LESS THAN (TO_DAYS(‘1999-07-21’))
)
==========================================================
我是分割线. 接下来是一个奇葩的问题.
==========================================================
Table has no partition for value 737118
原博: https://blog.csdn.net/pete_lee/article/details/59113885
我主要是在语句问题 :
~~
create table lte20180227 (
`textid` BIGINT(255) ,
`time` DATETIME
primary key (textid, time)
) engine = innodb partition by range (TO_DAYS(time))(
PARTITION lte201802271 VALUES LESS THAN (TO_DAYS('2018-02-07')),
PARTITION lte201802272 VALUES LESS THAN (TO_DAYS('2018-02-14')),
PARTITION lte201802273 VALUES LESS THAN (TO_DAYS('2018-02-21')),
PARTITION lte201802274 VALUES LESS THAN (TO_DAYS('2018-02-28'))
);
~~
这样要做好多个判断进行最后一个分区的划分. 并且运行另一个文件会出分区不存在.
找了好久找到了 ~~~
PARTITION lte201802274 VALUES LESS THAN MAXVALUE );
就不报错了,应该是自动分配最后分区.
(๑•̀ㅂ•́)و✧棒! 给原博点赞?~