【发布时间】:2019-01-26 09:13:56
【问题描述】:
我在 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;
【问题讨论】:
-
0。创建时间戳列后.., 1. 插入 30 行。 2. 禁止插入。 3. 改用更新
-
OP,请添加您的查询。没有人可以为您调试。
-
您的代码对我来说很好,也许您只是没有设置分隔符。问题的删除部分发生了什么?
-
@P.Salmon,它如何与您合作,?对于删除部分,我不知道该怎么做。云你帮我让代码只插入30行,超过30行时删除并添加新的。
标签: php mysql sql mysql-workbench