gpt4 book ai didi

MySQL 5.1 不允许我使用 declare in limits。我尝试了所有替代方法,但没有任何效果,我无法更新 MYSQL 版本

转载 作者:可可西里 更新时间:2023-11-01 08:38:35 24 4
gpt4 key购买 nike

MySQL 5.1 不允许我在限制中使用已声明的变量。我尝试了所有替代方法,但没有任何效果,而且我无法更新 MYSQL 版本。有没有其他方法可以在 MySql 5.1 中无错误地运行此查询。我在 MySql 5.6 及更高版本中尝试了相同的查询,它工作正常。

delimiter $$
CREATE event `cleaner` ON schedule every 7 day enable do
BEGIN
DECLARE `logCount` int(11);
SET `logCount` = (Select count(*) from `eventlogs`) - 5000;
DELETE FROM `eventlogs` ORDER BY `EventID` ASC LIMIT `logCount`;
END;

您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 'logCount; 附近使用的正确语法。END' 在第 5 行

最佳答案

选择第 5001 个最大的 EventID,然后删除所有小于或等于的:

BEGIN
DECLARE `lastEventID` int(11);
SET `lastEventID` = (
Select `EventID`
from `eventlogs`
ORDER BY `EventID` DESC
LIMIT 1
OFFSET 5000
);
DELETE FROM `eventlogs` WHERE `EventID` <= `lastEventID`;
END;

关于MySQL 5.1 不允许我使用 declare in limits。我尝试了所有替代方法,但没有任何效果,我无法更新 MYSQL 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56655453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com