当前位置: 首页 > article >正文

spring boot 项目对接MQTT,并且使用mysql数据库

接收订阅M MQTT的消息相关代码:

package com.xxl.job.executor.mqtt.mq;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xxl.job.executor.utils.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * 接收订阅的消息
 */
@Component
@Slf4j
public class ClientMQTT implements MqttCallback {

    public static final String HOST = "tcp://10.32.53.235:1883";//(127.0.0.1也就是EMQX的ip地址)

//    private static final String clientID = "clientIDSS";//(这个clientXX 可以随便写)
    private String TOPIC = "idsstopic";//(这个testtopic 是EMQX的订阅主题,如果你对接别的数据,别人给了你主题,改这个就行)
    private MqttClient client;
    private MqttConnectOptions options;
    @Autowired
    private ClientMQTTService clientMQTTService;

    /*连接MQtt*/
    public void clientStart() {
        try {
            String clientID ="idsstopic"+ System.currentTimeMillis();
//            String clientID ="idsstopic";
            client = new MqttClient(HOST, clientID, new MemoryPersistence());
            options = new MqttConnectOptions();
            options.setCleanSession(true);
            options.setKeepAliveInterval(10);
            options.setConnectionTimeout(50);
            options.setAutomaticReconnect(true); // 启用自动重连
            client.setCallback(this);
//            MqttTopic topic = client.getTopic(TOPIC);
            //setWill方法,如果项目中需要知道客户端是否掉线可以调用该方法。设置最终端口的通知消息
//            options.setWill(topic, "close".getBytes(), 1, true);
            log.info("连接到 " + HOST+":"+clientID);
            client.connect(options);
            log.info("连接成功");



            int[] Qos = {1};
            String[] topic1 = {TOPIC};
            client.subscribe(topic1, Qos);


        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void connectionLost(Throwable throwable) {
        System.out.println(throwable);
        //连接断掉会执行到这里
        log.info("连接中断,请重新连接!!!");
        ClientMQTT clientMQTT = new ClientMQTT();
        clientMQTT.clientStart();

    }


    //接收EMQX上订阅主题的数据
    @Override
    public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {



            //获取消息返回格式
            String msg = new String(mqttMessage.getPayload());
            if (msg.equals("close")) {
                return;
            }
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode jsonNode = objectMapper.readTree(msg);

            String info = jsonNode.get("values").toString();
              //按照对方返回过来的格式接收数据
            JsonNode infoList = objectMapper.readTree(info);
           log.info("infoList:" + infoList.toString());

            //插入数据
            clientMQTTService= SpringUtils.getBean("clientMQTTService");
            clientMQTTService.insertMQTTValue(infoList);

            //subscribe后会执行到这里
           log.info("订阅消息的主题是:" + s);
           log.info("消息的ID是:" + mqttMessage.getId());

    }

    @Override
    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
        //publish可以执行到这里
       log.info("This is deliveryComplete method----->" + iMqttDeliveryToken.isComplete());
    }


    /**
     * 项目启动时,启动MQTTClint服务
     */
    @PostConstruct
    public void init()
    {
        ClientMQTT clientMQTT = new ClientMQTT();
        clientMQTT.clientStart();

    }

}

数据处理类

package com.xxl.job.executor.mqtt.mq;

import com.fasterxml.jackson.databind.JsonNode;
import com.xxl.job.executor.local.index.dao.IdssMqttMapper;
import com.xxl.job.executor.local.index.dao.IndexBaseMapper;
import com.xxl.job.executor.local.index.model.IdssMqttBase;
import com.xxl.job.executor.local.index.model.IdssMqttHistory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * MQTT消息插入
 */
@Component
@Slf4j
public class ClientMQTTService {

    @Autowired
    private IdssMqttMapper idssMqttMapper;
    @Autowired
    private IndexBaseMapper indexBaseMapper;

    public void insertMQTTValue(JsonNode infoList) {
        //获取需要的tag列表
        List<IdssMqttBase> MQTTTagList = idssMqttMapper.getMQTTBaseTagList();
        //插入数据结果集
        List<IdssMqttHistory> idssMqttHistoryList = new ArrayList<>();

//        实际收卷长度之外的点位数据处理
        for (JsonNode dataJsonNode : infoList) {
//            点位数据
            String tag = dataJsonNode.get("id").asText();
            for (IdssMqttBase idssMqttBase : MQTTTagList) {
                //                    实际收卷长度外的点位信息直接插入

                if (idssMqttBase.getServerTag().equals(tag) ) {
                    //            实际值
                    Double value = dataJsonNode.get("v").asDouble();
                    // 若值为0则不存
                    if(isZero(value)){
                        continue;
                    }
                    long timestamp = dataJsonNode.get("t").asLong();
                    // 使用Date类将时间戳转换为日期
                    Date date = new Date(timestamp);
                    IdssMqttHistory idssMqttHistory = new IdssMqttHistory(tag, date, value);
                    idssMqttHistoryList.add(idssMqttHistory);

                }


            }

        }



        for (IdssMqttHistory idssMqttHistory : idssMqttHistoryList) {
//                不使用批量插入是防止重复数据导致一段数据均失败
            try{
                idssMqttMapper.insert(idssMqttHistory);
            }catch (Exception e){
                log.info("插入信息错误:"+idssMqttHistory.toString());
                System.out.println("插入错误信息:" + e);
            }


        }


    }

    private Boolean isZero(Double value){
        return value == null || value.doubleValue() == 0.0 || Math.abs(value.doubleValue()) < 1e-10;
    }


}

MySQL数据库分区建表

项目因需要对接MQTT 的点位数据,数据更新频率很高,所以mysql数据表采用分区的形式进行创建,提高查询效率
以下为建表实例:

CREATE TABLE `cy_lab_real_data` (
    `send_time` datetime(3) NOT NULL COMMENT '发送时间',
    `receive_time` datetime(3) DEFAULT NULL COMMENT '接收时间',
    `device_id` int(11) NOT NULL COMMENT '设备id',
    `version` smallint(4) DEFAULT NULL COMMENT '版本号',
    `barcode` varchar(64) DEFAULT NULL COMMENT '条码',
    `product_name` varchar(64) DEFAULT NULL COMMENT '名称',
    `c_str1` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '字符串1',
    `c_num1` decimal(16,4) DEFAULT NULL COMMENT '数字1',
    `c_num2` decimal(16,4) DEFAULT NULL COMMENT '数字2',
    PRIMARY KEY (`send_time`,`device_id`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
PARTITION BY RANGE (TO_DAYS(send_time) ) (
    PARTITION p20241127 VALUES LESS THAN ( TO_DAYS('20241127') ),
    PARTITION p20241128 VALUES LESS THAN ( TO_DAYS('20241128') ),
    PARTITION p20241129 VALUES LESS THAN ( TO_DAYS('20241129') ),
    PARTITION p20241130 VALUES LESS THAN ( TO_DAYS('20241130') ),
    PARTITION p20241201 VALUES LESS THAN ( TO_DAYS('20241201') ),
    PARTITION p20241202 VALUES LESS THAN ( TO_DAYS('20241202') ),
    PARTITION p20241203 VALUES LESS THAN ( TO_DAYS('20241203') ),
    PARTITION p20241204 VALUES LESS THAN ( TO_DAYS('20241204') ),
    PARTITION p20241205 VALUES LESS THAN ( TO_DAYS('20241205') ),
    PARTITION p20241206 VALUES LESS THAN ( TO_DAYS('20241206') ),
    PARTITION p20241207 VALUES LESS THAN ( TO_DAYS('20241207') ),
    PARTITION p20241208 VALUES LESS THAN ( TO_DAYS('20241208') ),
    PARTITION p20241209 VALUES LESS THAN ( TO_DAYS('20241209') ),
    PARTITION p20241210 VALUES LESS THAN ( TO_DAYS('20241210') ),
    PARTITION p20241211 VALUES LESS THAN ( TO_DAYS('20241211') ),
    PARTITION p20241212 VALUES LESS THAN ( TO_DAYS('20241212') ),
    PARTITION p20241213 VALUES LESS THAN ( TO_DAYS('20241213') ),
    PARTITION p20241214 VALUES LESS THAN ( TO_DAYS('20241214') ),
    PARTITION p20241215 VALUES LESS THAN ( TO_DAYS('20241215') ),
    PARTITION p20241216 VALUES LESS THAN ( TO_DAYS('20241216') ),
    PARTITION p20241217 VALUES LESS THAN ( TO_DAYS('20241217') ),
    PARTITION p20241218 VALUES LESS THAN ( TO_DAYS('20241218') ),
    PARTITION p20241219 VALUES LESS THAN ( TO_DAYS('20241219') ),
    PARTITION p20241220 VALUES LESS THAN ( TO_DAYS('20241220') ),
    PARTITION p20241221 VALUES LESS THAN ( TO_DAYS('20241221') ),
    PARTITION p20241222 VALUES LESS THAN ( TO_DAYS('20241222') ),
    PARTITION p20241223 VALUES LESS THAN ( TO_DAYS('20241223') ),
    PARTITION p20241224 VALUES LESS THAN ( TO_DAYS('20241224') ),
    PARTITION p20241225 VALUES LESS THAN ( TO_DAYS('20241225') ),
    PARTITION p20241226 VALUES LESS THAN ( TO_DAYS('20241226') ),
    PARTITION p20241227 VALUES LESS THAN ( TO_DAYS('20241227') ),
    PARTITION p20241228 VALUES LESS THAN ( TO_DAYS('20241228') ),
    PARTITION p20241229 VALUES LESS THAN ( TO_DAYS('20241229') ),
    PARTITION p20241230 VALUES LESS THAN ( TO_DAYS('20241230') ),
    PARTITION p20241231 VALUES LESS THAN ( TO_DAYS('20241231') ),
    PARTITION p20250101 VALUES LESS THAN ( TO_DAYS('20250101') ),
    PARTITION p20250102 VALUES LESS THAN ( TO_DAYS('20250102') ),
    PARTITION p20250103 VALUES LESS THAN ( TO_DAYS('20250103') ),
    PARTITION p20250104 VALUES LESS THAN ( TO_DAYS('20250104') ),
    PARTITION p20250105 VALUES LESS THAN ( TO_DAYS('20250105') ),
    PARTITION p20250106 VALUES LESS THAN ( TO_DAYS('20250106') ),
    PARTITION p20250107 VALUES LESS THAN ( TO_DAYS('20250107') ),
    PARTITION p20250108 VALUES LESS THAN ( TO_DAYS('20250108') ),
    PARTITION p20250109 VALUES LESS THAN ( TO_DAYS('20250109') ),
    PARTITION p20250110 VALUES LESS THAN ( TO_DAYS('20250110') ),
    PARTITION p20250111 VALUES LESS THAN ( TO_DAYS('20250111') ),
    PARTITION p20250112 VALUES LESS THAN ( TO_DAYS('20250112') ),
    PARTITION p20250113 VALUES LESS THAN ( TO_DAYS('20250113') ),
    PARTITION p20250114 VALUES LESS THAN ( TO_DAYS('20250114') ),
    PARTITION p20250115 VALUES LESS THAN ( TO_DAYS('20250115') ),
    PARTITION p20250116 VALUES LESS THAN ( TO_DAYS('20250116') ),
    PARTITION p20250117 VALUES LESS THAN ( TO_DAYS('20250117') ),
    PARTITION p20250118 VALUES LESS THAN ( TO_DAYS('20250118') ),
    PARTITION p20250119 VALUES LESS THAN ( TO_DAYS('20250119') ),
    PARTITION p20250120 VALUES LESS THAN ( TO_DAYS('20250120') ),
    PARTITION p20250121 VALUES LESS THAN ( TO_DAYS('20250121') ),
    PARTITION p20250122 VALUES LESS THAN ( TO_DAYS('20250122') ),
    PARTITION p20250123 VALUES LESS THAN ( TO_DAYS('20250123') ),
    PARTITION p20250124 VALUES LESS THAN ( TO_DAYS('20250124') ),
    PARTITION p20250125 VALUES LESS THAN ( TO_DAYS('20250125') ),
    PARTITION p20250126 VALUES LESS THAN ( TO_DAYS('20250126') ),
    PARTITION p20250127 VALUES LESS THAN ( TO_DAYS('20250127') ),
    PARTITION p20250128 VALUES LESS THAN ( TO_DAYS('20250128') ),
    PARTITION p20250129 VALUES LESS THAN ( TO_DAYS('20250129') ),
    PARTITION p20250130 VALUES LESS THAN ( TO_DAYS('20250130') ),
    PARTITION p20250131 VALUES LESS THAN ( TO_DAYS('20250131') ),
    PARTITION p20250201 VALUES LESS THAN ( TO_DAYS('20250201') ),
    PARTITION p20250202 VALUES LESS THAN ( TO_DAYS('20250202') ),
    PARTITION p20250203 VALUES LESS THAN ( TO_DAYS('20250203') ),
    PARTITION p20250204 VALUES LESS THAN ( TO_DAYS('20250204') ),
    PARTITION p20250205 VALUES LESS THAN ( TO_DAYS('20250205') ),
    PARTITION p20250206 VALUES LESS THAN ( TO_DAYS('20250206') ),
    PARTITION p20250207 VALUES LESS THAN ( TO_DAYS('20250207') ),
    PARTITION p20250208 VALUES LESS THAN ( TO_DAYS('20250208') ),
    PARTITION p20250209 VALUES LESS THAN ( TO_DAYS('20250209') ),
    PARTITION p20250210 VALUES LESS THAN ( TO_DAYS('20250210') ),
    PARTITION p20250211 VALUES LESS THAN ( TO_DAYS('20250211') ),
    PARTITION p20250212 VALUES LESS THAN ( TO_DAYS('20250212') ),
    PARTITION p20250213 VALUES LESS THAN ( TO_DAYS('20250213') ),
    PARTITION p20250214 VALUES LESS THAN ( TO_DAYS('20250214') ),
    PARTITION p20250215 VALUES LESS THAN ( TO_DAYS('20250215') ),
    PARTITION p20250216 VALUES LESS THAN ( TO_DAYS('20250216') ),
    PARTITION p20250217 VALUES LESS THAN ( TO_DAYS('20250217') ),
    PARTITION p20250218 VALUES LESS THAN ( TO_DAYS('20250218') ),
    PARTITION p20250219 VALUES LESS THAN ( TO_DAYS('20250219') ),
    PARTITION p20250220 VALUES LESS THAN ( TO_DAYS('20250220') ),
    PARTITION p20250221 VALUES LESS THAN ( TO_DAYS('20250221') ),
    PARTITION p20250222 VALUES LESS THAN ( TO_DAYS('20250222') ),
    PARTITION p20250223 VALUES LESS THAN ( TO_DAYS('20250223') ),
    PARTITION p20250224 VALUES LESS THAN ( TO_DAYS('20250224') ),
    PARTITION p20250225 VALUES LESS THAN ( TO_DAYS('20250225') ),
    PARTITION p20250226 VALUES LESS THAN ( TO_DAYS('20250226') ),
    PARTITION p20250227 VALUES LESS THAN ( TO_DAYS('20250227') ),
    PARTITION p20250228 VALUES LESS THAN ( TO_DAYS('20250228') ),
    PARTITION p20250301 VALUES LESS THAN ( TO_DAYS('20250301') ),
    PARTITION p20250302 VALUES LESS THAN ( TO_DAYS('20250302') ),
    PARTITION p20250303 VALUES LESS THAN ( TO_DAYS('20250303') ),
    PARTITION p20250304 VALUES LESS THAN ( TO_DAYS('20250304') ),
    PARTITION p20250305 VALUES LESS THAN ( TO_DAYS('20250305') ),
    PARTITION p20250306 VALUES LESS THAN ( TO_DAYS('20250306') ),
    PARTITION p20250307 VALUES LESS THAN ( TO_DAYS('20250307') ),
    PARTITION p20250308 VALUES LESS THAN ( TO_DAYS('20250308') ),
    PARTITION p20250309 VALUES LESS THAN ( TO_DAYS('20250309') ),
    PARTITION p20250310 VALUES LESS THAN ( TO_DAYS('20250310') ),
    PARTITION p20250311 VALUES LESS THAN ( TO_DAYS('20250311') ),
    PARTITION p20250312 VALUES LESS THAN ( TO_DAYS('20250312') ),
    PARTITION p20250313 VALUES LESS THAN ( TO_DAYS('20250313') ),
    PARTITION p20250314 VALUES LESS THAN ( TO_DAYS('20250314') ),
    PARTITION p20250315 VALUES LESS THAN ( TO_DAYS('20250315') ),
    PARTITION p20250316 VALUES LESS THAN ( TO_DAYS('20250316') ),
    PARTITION p20250317 VALUES LESS THAN ( TO_DAYS('20250317') ),
    PARTITION p20250318 VALUES LESS THAN ( TO_DAYS('20250318') ),
    PARTITION p20250319 VALUES LESS THAN ( TO_DAYS('20250319') ),
    PARTITION p20250320 VALUES LESS THAN ( TO_DAYS('20250320') ),
    PARTITION p20250321 VALUES LESS THAN ( TO_DAYS('20250321') ),
    PARTITION p20250322 VALUES LESS THAN ( TO_DAYS('20250322') ),
    PARTITION p20250323 VALUES LESS THAN ( TO_DAYS('20250323') ),
    PARTITION p20250324 VALUES LESS THAN ( TO_DAYS('20250324') ),
    PARTITION p20250325 VALUES LESS THAN ( TO_DAYS('20250325') ),
    PARTITION p20250326 VALUES LESS THAN ( TO_DAYS('20250326') ),
    PARTITION p20250327 VALUES LESS THAN ( TO_DAYS('20250327') ),
    PARTITION p20250328 VALUES LESS THAN ( TO_DAYS('20250328') ),
    PARTITION p20250329 VALUES LESS THAN ( TO_DAYS('20250329') ),
    PARTITION p20250330 VALUES LESS THAN ( TO_DAYS('20250330') ),
    PARTITION p20250331 VALUES LESS THAN ( TO_DAYS('20250331') ),
    PARTITION p20250401 VALUES LESS THAN ( TO_DAYS('20250401') ),
    PARTITION p20250402 VALUES LESS THAN ( TO_DAYS('20250402') ),
    PARTITION p20250403 VALUES LESS THAN ( TO_DAYS('20250403') ),
    PARTITION p20250404 VALUES LESS THAN ( TO_DAYS('20250404') ),
    PARTITION p20250405 VALUES LESS THAN ( TO_DAYS('20250405') ),
    PARTITION p20250406 VALUES LESS THAN ( TO_DAYS('20250406') ),
    PARTITION p20250407 VALUES LESS THAN ( TO_DAYS('20250407') ),
    PARTITION p20250408 VALUES LESS THAN ( TO_DAYS('20250408') ),
    PARTITION p20250409 VALUES LESS THAN ( TO_DAYS('20250409') ),
    PARTITION p20250410 VALUES LESS THAN ( TO_DAYS('20250410') ),
    PARTITION p20250411 VALUES LESS THAN ( TO_DAYS('20250411') ),
    PARTITION p20250412 VALUES LESS THAN ( TO_DAYS('20250412') ),
    PARTITION p20250413 VALUES LESS THAN ( TO_DAYS('20250413') ),
    PARTITION p20250414 VALUES LESS THAN ( TO_DAYS('20250414') ),
    PARTITION p20250415 VALUES LESS THAN ( TO_DAYS('20250415') ),
    PARTITION p20250416 VALUES LESS THAN ( TO_DAYS('20250416') ),
    PARTITION p20250417 VALUES LESS THAN ( TO_DAYS('20250417') ),
    PARTITION p20250418 VALUES LESS THAN ( TO_DAYS('20250418') ),
    PARTITION p20250419 VALUES LESS THAN ( TO_DAYS('20250419') ),
    PARTITION p20250420 VALUES LESS THAN ( TO_DAYS('20250420') ),
    PARTITION p20250421 VALUES LESS THAN ( TO_DAYS('20250421') ),
    PARTITION p20250422 VALUES LESS THAN ( TO_DAYS('20250422') ),
    PARTITION p20250423 VALUES LESS THAN ( TO_DAYS('20250423') ),
    PARTITION p20250424 VALUES LESS THAN ( TO_DAYS('20250424') ),
    PARTITION p20250425 VALUES LESS THAN ( TO_DAYS('20250425') ),
    PARTITION p20250426 VALUES LESS THAN ( TO_DAYS('20250426') ),
    PARTITION p20250427 VALUES LESS THAN ( TO_DAYS('20250427') ),
    PARTITION p20250428 VALUES LESS THAN ( TO_DAYS('20250428') ),
    PARTITION p20250429 VALUES LESS THAN ( TO_DAYS('20250429') ),
    PARTITION p20250430 VALUES LESS THAN ( TO_DAYS('20250430') ),
    PARTITION p20250501 VALUES LESS THAN ( TO_DAYS('20250501') ),
    PARTITION p20250502 VALUES LESS THAN ( TO_DAYS('20250502') ),
    PARTITION p20250503 VALUES LESS THAN ( TO_DAYS('20250503') ),
    PARTITION p20250504 VALUES LESS THAN ( TO_DAYS('20250504') ),
    PARTITION p20250505 VALUES LESS THAN ( TO_DAYS('20250505') ),
    PARTITION p20250506 VALUES LESS THAN ( TO_DAYS('20250506') ),
    PARTITION p20250507 VALUES LESS THAN ( TO_DAYS('20250507') ),
    PARTITION p20250508 VALUES LESS THAN ( TO_DAYS('20250508') ),
    PARTITION p20250509 VALUES LESS THAN ( TO_DAYS('20250509') ),
    PARTITION p20250510 VALUES LESS THAN ( TO_DAYS('20250510') ),
    PARTITION p20250511 VALUES LESS THAN ( TO_DAYS('20250511') ),
    PARTITION p20250512 VALUES LESS THAN ( TO_DAYS('20250512') ),
    PARTITION p20250513 VALUES LESS THAN ( TO_DAYS('20250513') ),
    PARTITION p20250514 VALUES LESS THAN ( TO_DAYS('20250514') ),
    PARTITION p20250515 VALUES LESS THAN ( TO_DAYS('20250515') ),
    PARTITION p20250516 VALUES LESS THAN ( TO_DAYS('20250516') ),
    PARTITION p20250517 VALUES LESS THAN ( TO_DAYS('20250517') ),
    PARTITION p20250518 VALUES LESS THAN ( TO_DAYS('20250518') ),
    PARTITION p20250519 VALUES LESS THAN ( TO_DAYS('20250519') ),
    PARTITION p20250520 VALUES LESS THAN ( TO_DAYS('20250520') ),
    PARTITION p20250521 VALUES LESS THAN ( TO_DAYS('20250521') ),
    PARTITION p20250522 VALUES LESS THAN ( TO_DAYS('20250522') ),
    PARTITION p20250523 VALUES LESS THAN ( TO_DAYS('20250523') ),
    PARTITION p20250524 VALUES LESS THAN ( TO_DAYS('20250524') ),
    PARTITION p20250525 VALUES LESS THAN ( TO_DAYS('20250525') ),
    PARTITION p20250526 VALUES LESS THAN ( TO_DAYS('20250526') ),
    PARTITION p20250527 VALUES LESS THAN ( TO_DAYS('20250527') ),
    PARTITION p20250528 VALUES LESS THAN ( TO_DAYS('20250528') ),
    PARTITION p20250529 VALUES LESS THAN ( TO_DAYS('20250529') ),
    PARTITION p20250530 VALUES LESS THAN ( TO_DAYS('20250530') ),
    PARTITION p20250531 VALUES LESS THAN ( TO_DAYS('20250531') ),
    PARTITION p20250601 VALUES LESS THAN ( TO_DAYS('20250601') ),
    PARTITION p20250602 VALUES LESS THAN ( TO_DAYS('20250602') ),
    PARTITION p20250603 VALUES LESS THAN ( TO_DAYS('20250603') ),
    PARTITION p20250604 VALUES LESS THAN ( TO_DAYS('20250604') ),
    PARTITION p20250605 VALUES LESS THAN ( TO_DAYS('20250605') ),
    PARTITION p20250606 VALUES LESS THAN ( TO_DAYS('20250606') ),
    PARTITION p20250607 VALUES LESS THAN ( TO_DAYS('20250607') ),
    PARTITION p20250608 VALUES LESS THAN ( TO_DAYS('20250608') ),
    PARTITION p20250609 VALUES LESS THAN ( TO_DAYS('20250609') ),
    PARTITION p20250610 VALUES LESS THAN ( TO_DAYS('20250610') ),
    PARTITION p20250611 VALUES LESS THAN ( TO_DAYS('20250611') ),
    PARTITION p20250612 VALUES LESS THAN ( TO_DAYS('20250612') ),
    PARTITION p20250613 VALUES LESS THAN ( TO_DAYS('20250613') ),
    PARTITION p20250614 VALUES LESS THAN ( TO_DAYS('20250614') ),
    PARTITION p20250615 VALUES LESS THAN ( TO_DAYS('20250615') ),
    PARTITION p20250616 VALUES LESS THAN ( TO_DAYS('20250616') ),
    PARTITION p20250617 VALUES LESS THAN ( TO_DAYS('20250617') ),
    PARTITION p20250618 VALUES LESS THAN ( TO_DAYS('20250618') ),
    PARTITION p20250619 VALUES LESS THAN ( TO_DAYS('20250619') ),
    PARTITION p20250620 VALUES LESS THAN ( TO_DAYS('20250620') ),
    PARTITION p20250621 VALUES LESS THAN ( TO_DAYS('20250621') ),
    PARTITION p20250622 VALUES LESS THAN ( TO_DAYS('20250622') ),
    PARTITION p20250623 VALUES LESS THAN ( TO_DAYS('20250623') ),
    PARTITION p20250624 VALUES LESS THAN ( TO_DAYS('20250624') ),
    PARTITION p20250625 VALUES LESS THAN ( TO_DAYS('20250625') ),
    PARTITION p20250626 VALUES LESS THAN ( TO_DAYS('20250626') ),
    PARTITION p20250627 VALUES LESS THAN ( TO_DAYS('20250627') ),
    PARTITION p20250628 VALUES LESS THAN ( TO_DAYS('20250628') ),
    PARTITION p20250629 VALUES LESS THAN ( TO_DAYS('20250629') ),
    PARTITION p20250630 VALUES LESS THAN ( TO_DAYS('20250630') ),
    PARTITION p20250701 VALUES LESS THAN ( TO_DAYS('20250701') ),
    PARTITION p20250702 VALUES LESS THAN ( TO_DAYS('20250702') ),
    PARTITION p20250703 VALUES LESS THAN ( TO_DAYS('20250703') ),
    PARTITION p20250704 VALUES LESS THAN ( TO_DAYS('20250704') ),
    PARTITION p20250705 VALUES LESS THAN ( TO_DAYS('20250705') ),
    PARTITION p20250706 VALUES LESS THAN ( TO_DAYS('20250706') ),
    PARTITION p20250707 VALUES LESS THAN ( TO_DAYS('20250707') ),
    PARTITION p20250708 VALUES LESS THAN ( TO_DAYS('20250708') ),
    PARTITION p20250709 VALUES LESS THAN ( TO_DAYS('20250709') ),
    PARTITION p20250710 VALUES LESS THAN ( TO_DAYS('20250710') ),
    PARTITION p20250711 VALUES LESS THAN ( TO_DAYS('20250711') ),
    PARTITION p20250712 VALUES LESS THAN ( TO_DAYS('20250712') ),
    PARTITION p20250713 VALUES LESS THAN ( TO_DAYS('20250713') ),
    PARTITION p20250714 VALUES LESS THAN ( TO_DAYS('20250714') ),
    PARTITION p20250715 VALUES LESS THAN ( TO_DAYS('20250715') ),
    PARTITION p20250716 VALUES LESS THAN ( TO_DAYS('20250716') ),
    PARTITION p20250717 VALUES LESS THAN ( TO_DAYS('20250717') ),
    PARTITION p20250718 VALUES LESS THAN ( TO_DAYS('20250718') ),
    PARTITION p20250719 VALUES LESS THAN ( TO_DAYS('20250719') ),
    PARTITION p20250720 VALUES LESS THAN ( TO_DAYS('20250720') ),
    PARTITION p20250721 VALUES LESS THAN ( TO_DAYS('20250721') ),
    PARTITION p20250722 VALUES LESS THAN ( TO_DAYS('20250722') ),
    PARTITION p20250723 VALUES LESS THAN ( TO_DAYS('20250723') ),
    PARTITION p20250724 VALUES LESS THAN ( TO_DAYS('20250724') ),
    PARTITION p20250725 VALUES LESS THAN ( TO_DAYS('20250725') ),
    PARTITION p20250726 VALUES LESS THAN ( TO_DAYS('20250726') ),
    PARTITION p20250727 VALUES LESS THAN ( TO_DAYS('20250727') ),
    PARTITION p20250728 VALUES LESS THAN ( TO_DAYS('20250728') ),
    PARTITION p20250729 VALUES LESS THAN ( TO_DAYS('20250729') ),
    PARTITION p20250730 VALUES LESS THAN ( TO_DAYS('20250730') ),
    PARTITION p20250731 VALUES LESS THAN ( TO_DAYS('20250731') ),
    PARTITION p20250801 VALUES LESS THAN ( TO_DAYS('20250801') ),
    PARTITION p20250802 VALUES LESS THAN ( TO_DAYS('20250802') ),
    PARTITION p20250803 VALUES LESS THAN ( TO_DAYS('20250803') ),
    PARTITION p20250804 VALUES LESS THAN ( TO_DAYS('20250804') ),
    PARTITION p20250805 VALUES LESS THAN ( TO_DAYS('20250805') ),
    PARTITION p20250806 VALUES LESS THAN ( TO_DAYS('20250806') ),
    PARTITION p20250807 VALUES LESS THAN ( TO_DAYS('20250807') ),
    PARTITION p20250808 VALUES LESS THAN ( TO_DAYS('20250808') ),
    PARTITION p20250809 VALUES LESS THAN ( TO_DAYS('20250809') ),
    PARTITION p20250810 VALUES LESS THAN ( TO_DAYS('20250810') ),
    PARTITION p20250811 VALUES LESS THAN ( TO_DAYS('20250811') ),
    PARTITION p20250812 VALUES LESS THAN ( TO_DAYS('20250812') ),
    PARTITION p20250813 VALUES LESS THAN ( TO_DAYS('20250813') ),
    PARTITION p20250814 VALUES LESS THAN ( TO_DAYS('20250814') ),
    PARTITION p20250815 VALUES LESS THAN ( TO_DAYS('20250815') ),
    PARTITION p20250816 VALUES LESS THAN ( TO_DAYS('20250816') ),
    PARTITION p20250817 VALUES LESS THAN ( TO_DAYS('20250817') ),
    PARTITION p20250818 VALUES LESS THAN ( TO_DAYS('20250818') ),
    PARTITION p20250819 VALUES LESS THAN ( TO_DAYS('20250819') ),
    PARTITION p20250820 VALUES LESS THAN ( TO_DAYS('20250820') ),
    PARTITION p20250821 VALUES LESS THAN ( TO_DAYS('20250821') ),
    PARTITION p20250822 VALUES LESS THAN ( TO_DAYS('20250822') ),
    PARTITION p20250823 VALUES LESS THAN ( TO_DAYS('20250823') ),
    PARTITION p20250824 VALUES LESS THAN ( TO_DAYS('20250824') ),
    PARTITION p20250825 VALUES LESS THAN ( TO_DAYS('20250825') ),
    PARTITION p20250826 VALUES LESS THAN ( TO_DAYS('20250826') ),
    PARTITION p20250827 VALUES LESS THAN ( TO_DAYS('20250827') ),
    PARTITION p20250828 VALUES LESS THAN ( TO_DAYS('20250828') ),
    PARTITION p20250829 VALUES LESS THAN ( TO_DAYS('20250829') ),
    PARTITION p20250830 VALUES LESS THAN ( TO_DAYS('20250830') ),
    PARTITION p20250831 VALUES LESS THAN ( TO_DAYS('20250831') ),
    PARTITION p20250901 VALUES LESS THAN ( TO_DAYS('20250901') ),
    PARTITION p20250902 VALUES LESS THAN ( TO_DAYS('20250902') ),
    PARTITION p20250903 VALUES LESS THAN ( TO_DAYS('20250903') ),
    PARTITION p20250904 VALUES LESS THAN ( TO_DAYS('20250904') ),
    PARTITION p20250905 VALUES LESS THAN ( TO_DAYS('20250905') ),
    PARTITION p20250906 VALUES LESS THAN ( TO_DAYS('20250906') ),
    PARTITION p20250907 VALUES LESS THAN ( TO_DAYS('20250907') ),
    PARTITION p20250908 VALUES LESS THAN ( TO_DAYS('20250908') ),
    PARTITION p20250909 VALUES LESS THAN ( TO_DAYS('20250909') ),
    PARTITION p20250910 VALUES LESS THAN ( TO_DAYS('20250910') ),
    PARTITION p20250911 VALUES LESS THAN ( TO_DAYS('20250911') ),
    PARTITION p20250912 VALUES LESS THAN ( TO_DAYS('20250912') ),
    PARTITION p20250913 VALUES LESS THAN ( TO_DAYS('20250913') ),
    PARTITION p20250914 VALUES LESS THAN ( TO_DAYS('20250914') ),
    PARTITION p20250915 VALUES LESS THAN ( TO_DAYS('20250915') ),
    PARTITION p20250916 VALUES LESS THAN ( TO_DAYS('20250916') ),
    PARTITION p20250917 VALUES LESS THAN ( TO_DAYS('20250917') ),
    PARTITION p20250918 VALUES LESS THAN ( TO_DAYS('20250918') ),
    PARTITION p20250919 VALUES LESS THAN ( TO_DAYS('20250919') ),
    PARTITION p20250920 VALUES LESS THAN ( TO_DAYS('20250920') ),
    PARTITION p20250921 VALUES LESS THAN ( TO_DAYS('20250921') ),
    PARTITION p20250922 VALUES LESS THAN ( TO_DAYS('20250922') ),
    PARTITION p20250923 VALUES LESS THAN ( TO_DAYS('20250923') ),
    PARTITION p20250924 VALUES LESS THAN ( TO_DAYS('20250924') ),
    PARTITION p20250925 VALUES LESS THAN ( TO_DAYS('20250925') ),
    PARTITION p20250926 VALUES LESS THAN ( TO_DAYS('20250926') ),
    PARTITION p20250927 VALUES LESS THAN ( TO_DAYS('20250927') ),
    PARTITION p20250928 VALUES LESS THAN ( TO_DAYS('20250928') ),
    PARTITION p20250929 VALUES LESS THAN ( TO_DAYS('20250929') ),
    PARTITION p20250930 VALUES LESS THAN ( TO_DAYS('20250930') ),
    PARTITION p20251001 VALUES LESS THAN ( TO_DAYS('20251001') ),
    PARTITION p20251002 VALUES LESS THAN ( TO_DAYS('20251002') ),
    PARTITION p20251003 VALUES LESS THAN ( TO_DAYS('20251003') ),
    PARTITION p20251004 VALUES LESS THAN ( TO_DAYS('20251004') ),
    PARTITION p20251005 VALUES LESS THAN ( TO_DAYS('20251005') ),
    PARTITION p20251006 VALUES LESS THAN ( TO_DAYS('20251006') ),
    PARTITION p20251007 VALUES LESS THAN ( TO_DAYS('20251007') ),
    PARTITION p20251008 VALUES LESS THAN ( TO_DAYS('20251008') ),
    PARTITION p20251009 VALUES LESS THAN ( TO_DAYS('20251009') ),
    PARTITION p20251010 VALUES LESS THAN ( TO_DAYS('20251010') ),
    PARTITION p20251011 VALUES LESS THAN ( TO_DAYS('20251011') ),
    PARTITION p20251012 VALUES LESS THAN ( TO_DAYS('20251012') ),
    PARTITION p20251013 VALUES LESS THAN ( TO_DAYS('20251013') ),
    PARTITION p20251014 VALUES LESS THAN ( TO_DAYS('20251014') ),
    PARTITION p20251015 VALUES LESS THAN ( TO_DAYS('20251015') ),
    PARTITION p20251016 VALUES LESS THAN ( TO_DAYS('20251016') ),
    PARTITION p20251017 VALUES LESS THAN ( TO_DAYS('20251017') ),
    PARTITION p20251018 VALUES LESS THAN ( TO_DAYS('20251018') ),
    PARTITION p20251019 VALUES LESS THAN ( TO_DAYS('20251019') ),
    PARTITION p20251020 VALUES LESS THAN ( TO_DAYS('20251020') ),
    PARTITION p20251021 VALUES LESS THAN ( TO_DAYS('20251021') ),
    PARTITION p20251022 VALUES LESS THAN ( TO_DAYS('20251022') ),
    PARTITION p20251023 VALUES LESS THAN ( TO_DAYS('20251023') ),
    PARTITION p20251024 VALUES LESS THAN ( TO_DAYS('20251024') ),
    PARTITION p20251025 VALUES LESS THAN ( TO_DAYS('20251025') ),
    PARTITION p20251026 VALUES LESS THAN ( TO_DAYS('20251026') ),
    PARTITION p20251027 VALUES LESS THAN ( TO_DAYS('20251027') ),
    PARTITION p20251028 VALUES LESS THAN ( TO_DAYS('20251028') ),
    PARTITION p20251029 VALUES LESS THAN ( TO_DAYS('20251029') ),
    PARTITION p20251030 VALUES LESS THAN ( TO_DAYS('20251030') ),
    PARTITION p20251031 VALUES LESS THAN ( TO_DAYS('20251031') ),
    PARTITION p20251101 VALUES LESS THAN ( TO_DAYS('20251101') ),
    PARTITION p20251102 VALUES LESS THAN ( TO_DAYS('20251102') ),
    PARTITION p20251103 VALUES LESS THAN ( TO_DAYS('20251103') ),
    PARTITION p20251104 VALUES LESS THAN ( TO_DAYS('20251104') ),
    PARTITION p20251105 VALUES LESS THAN ( TO_DAYS('20251105') ),
    PARTITION p20251106 VALUES LESS THAN ( TO_DAYS('20251106') ),
    PARTITION p20251107 VALUES LESS THAN ( TO_DAYS('20251107') ),
    PARTITION p20251108 VALUES LESS THAN ( TO_DAYS('20251108') ),
    PARTITION p20251109 VALUES LESS THAN ( TO_DAYS('20251109') ),
    PARTITION p20251110 VALUES LESS THAN ( TO_DAYS('20251110') ),
    PARTITION p20251111 VALUES LESS THAN ( TO_DAYS('20251111') ),
    PARTITION p20251112 VALUES LESS THAN ( TO_DAYS('20251112') ),
    PARTITION p20251113 VALUES LESS THAN ( TO_DAYS('20251113') ),
    PARTITION p20251114 VALUES LESS THAN ( TO_DAYS('20251114') ),
    PARTITION p20251115 VALUES LESS THAN ( TO_DAYS('20251115') ),
    PARTITION p20251116 VALUES LESS THAN ( TO_DAYS('20251116') ),
    PARTITION p20251117 VALUES LESS THAN ( TO_DAYS('20251117') ),
    PARTITION p20251118 VALUES LESS THAN ( TO_DAYS('20251118') ),
    PARTITION p20251119 VALUES LESS THAN ( TO_DAYS('20251119') ),
    PARTITION p20251120 VALUES LESS THAN ( TO_DAYS('20251120') ),
    PARTITION p20251121 VALUES LESS THAN ( TO_DAYS('20251121') ),
    PARTITION p20251122 VALUES LESS THAN ( TO_DAYS('20251122') ),
    PARTITION p20251123 VALUES LESS THAN ( TO_DAYS('20251123') ),
    PARTITION p20251124 VALUES LESS THAN ( TO_DAYS('20251124') ),
    PARTITION p20251125 VALUES LESS THAN ( TO_DAYS('20251125') ),
    PARTITION p20251126 VALUES LESS THAN ( TO_DAYS('20251126') ),
    PARTITION pmax VALUES LESS THAN MAXVALUE
);

http://www.kler.cn/a/558408.html

相关文章:

  • Java高级开发所具知识技能
  • 自注意力机制和CNN的区别
  • 修改阿里云服务器内网ip
  • 代理IP助力AI图像处理,开启行业新篇章
  • 前端接收后端19位数字参数,精度丢失的问题
  • 基于iptables的Docker端口白名单控制
  • 机器翻译与语音识别技术:推动人机交互的新篇章
  • 基于LSTM的机场天气分析及模型预测
  • mysql之事务深度解析与实战应用:保障数据一致性的基石
  • redis缓存与Mysql数据一致性,要如何解决?
  • 2025年-G14-Lc88-278.第一个坏版本 -java版
  • OpenResty
  • BUU40 [安洵杯 2019]easy_serialize_php
  • 力扣-回溯-93 复原IP地址
  • 贪吃蛇小游戏的实践
  • 计算机网络:应用层 —— 文件传送协议 FTP
  • 自动化办公|xlwings生成图表
  • go io.Pipe
  • 创客匠人:知识服务还有未来吗?个人IP如何突围下半场的生死局?
  • 蓝桥杯15 填空题