0

我对 MySQL 不太熟悉,但我正在尝试创建一个触发器,以便每当插入一行时,如果表中的总行数大于 10,则删除某个行。

我正在寻找的,没有触发器语法,是这样的:

IF (SELECT COUNT(*) FROM table) > 10 THEN
//do some stuff
END IF;

然而,这似乎不是可接受的语法。我该怎么做呢?

4

2 回答 2

0
DELIMITER &&

CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW

BEGIN

DECLARE x INT;
SET x = (SELECT count(*) FROM table_name); 

IF x > 10 THEN

    DELETE FROM table_name where condition;

END IF;

END&&

DELIMITER ;
于 2012-11-29T20:41:38.843 回答
-1
select count(1) into @cnt from table;
if (@cnt > 10) then
   // do some stuff
end if;

而不是@cnt你可以使用声明的变量

于 2012-11-29T20:40:37.377 回答