我希望表格最多只能有100行,如果我添加了第101行,那么第1行应该自动删除。同样地,我只想要表格的总行数为100,删除顺序应该是先进先出。
是否有任何直接的MySQL函数可以实现这个功能?
我希望表格最多只能有100行,如果我添加了第101行,那么第1行应该自动删除。同样地,我只想要表格的总行数为100,删除顺序应该是先进先出。
是否有任何直接的MySQL函数可以实现这个功能?
请使用BEFORE INSERT触发器实现此功能。
下面的代码中,我将限制设置为25,根据您的需求进行调整。
DELIMITER $$
CREATE TRIGGER trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
SELECT COUNT(*) INTO @cnt FROM table1;
IF @cnt >= 25 THEN
CALL sth(); -- raise an error
END IF;
END
$$
DELIMITER ;
CREATE TRIGGER Deleter AFTER INSERT on YourTable FOR EACH ROW
BEGIN
Delete from yourTable where ID = (Select MIN(id) from yourTable);
END;
与以下内容相同: 如何设置MySQL表的阈值或限制?
BEFORE INSERT
触发器。 - Rohan