首页 > 解决方案 > 将 MySQL 表的插入限制为 N 行

问题描述

我在 MySQL 中创建了一个表。

我希望这个表只存储 30 行,当超过 30 行时让我们说是 31 行,那么该表必须删除旧的 30 行。

这在 MySQL 中可能吗?

我使用了以下触发器,但它不适用于我。

CREATE TRIGGER my_name
BEFORE INSERT ON try
FOR EACH ROW
BEGIN
    DECLARE cnt INT;

    SELECT count(*) INTO cnt FROM try;

    IF cnt = 30 THEN
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'You can store only 10 records.';
    END IF;
END;

标签: phpmysqlsqlmysql-workbench

解决方案


在以下屏幕中显示 SHOW PROCEDURE STATUS 的结果

屏幕1


推荐阅读