首页 > 解决方案 > Mariadb - 如何通过查询删除历史记录?

问题描述

我的 Mariadb 版本:10.3.23

问题:我的服务器磁盘即将达到饱和点,我的数据库中有许多无用的历史数据。我的表是使用 SYSTEM VERSIONING 创建的。我想通过如下查询删除无用的历史数据:

DELETE HISTORY FROM my_table FOR SYSTEM_TIME ALL where my_table.id = 2152 

我收到错误消息:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SYSTEM_TIME ALL where writing_id= 2152'

问题:如何删除与 id 关联的无用历史数据?

标签: mysqlmariadb

解决方案


用户手册中描述了删除无用历史记录的正确语法,例如,如果要删除一个月或以上的版本,请使用:

DELETE HISTORY 
    FROM table_name 
    BEFORE SYSTEM_TIME (CURRENT_DATE - INTERVAL 1 MONTH);

您不能删除单独行的版本控制历史记录。


推荐阅读