mysql - 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 关联的无用历史数据?
解决方案
用户手册中描述了删除无用历史记录的正确语法,例如,如果要删除一个月或以上的版本,请使用:
DELETE HISTORY
FROM table_name
BEFORE SYSTEM_TIME (CURRENT_DATE - INTERVAL 1 MONTH);
您不能删除单独行的版本控制历史记录。
推荐阅读
- react-native - 当数据源来自json数组时反应本机选择器给出错误
- go - 使用 kubernetes 从不同的服务连接到 Redis 服务
- ios - 如何使用 Swift 将 imageview 中的图像上传到 POST API?
- c++ - 为什么这段代码的输出总是一样的?
- python-3.x - 恢复保存的模型
- php - 使用 PDO 创建的数组中的重复条目
- html - 从数据库中获取数据并将数据附加到框架
- jquery - 使用 jquery 的 Chrome 上的 Flex 无法正确呈现
- javascript - 我们如何获得图像高度(不是自然高度)
- html - 如何在不更改 url 的情况下在另一个组件中路由组件?