如何解决MySQL中有一个函数可以在表达到某个值例如100MB时截断它?
SELECT ehrt_cache_render;
IF TABLE ehrt_cache_render > 20 MB THEN TRUNCATE TABLE ehrt_cache_render;
END IF;
这就是我尝试过的。
解决方法
这是一种可能性,
您应该在查询YOUR_DATABASE_NAME
中指定数据库名称,否则,您可以截断不需要的表
SELECT
round(((data_length + index_length) / 1024 / 1024),2) `Size in MB`
INTO @size_table
FROM information_schema.TABLES
WHERE
table_schema = "YOUR_DATABASE_NAME"
AND table_name = "ehrt_cache_render";
SELECT IF(@size_table IS NULL,@sql := "DO NULL",IF(@size_table > 100,@sql := "TRUNCATE TABLE YOUR_DATABASE_NAME.ehrt_cache_render",@sql := "DO NULL"));
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。