如何限制mysql表中的总行数

如何限制mysql表中的总行数,mysql,Mysql,我希望表的最大行数为100,如果我向该表中添加101行,则1行应自动删除。同样,我只希望表的总行数为100,删除顺序应为FIFO。 有没有直接的MySQL函数 为此使用插入前触发器 下面,我保留了25的限制,根据您的需要设置 DELIMITER $$ CREATE TRIGGER trigger1 BEFORE INSERT ON table1 FOR EACH ROW BEGIN SELECT COUNT(*) INTO @cnt FROM table1; IF @cnt >=

我希望表的最大行数为100,如果我向该表中添加101行,则1行应自动删除。同样,我只希望表的总行数为100,删除顺序应为FIFO。

有没有直接的MySQL函数

为此使用插入前触发器

下面,我保留了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;
同:

在插入触发器之前尝试使用
。您好,请检查此处以获取答案,