Gör om det hela till en Stored Procedure så blir det enklare att anropa från prograkoden och det blir enklare att göra ändringar:
Kod:
USE `secag`;
DROP procedure IF EXISTS `DeleteAllMessagesButLast30`;
DELIMITER $$
USE `secag`$$
CREATE PROCEDURE `secag`.`DeleteAllMessagesButLast30` ()
BEGIN
DELETE FROM `shoutbox`
WHERE message_id <=
(
SELECT message_id
FROM
(
SELECT message_id
FROM `shoutbox`
ORDER BY message_id DESC
LIMIT 1 OFFSET 30 -- Behåll så här många tupler
) foo
);
END$$
DELIMITER ;
För att anropa SPn från ditt program behöver du bara köra denna SQL-sats:
Kod:
CALL `secag`.`DeleteAllMessagesButLast30` ();