我对MySQL不太好,但我正在尝试创建一个触发器,以便每当插入一行时,如果表中的总行数大于10,则删除某行。
我正在寻找的,没有触发器语法,是这样的:
IF (SELECT COUNT(*) FROM table) > 10 THEN
//do some stuff
END IF;
然而,这似乎不是可接受的语法。我应该怎么做呢?
答案 0 :(得分: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 ;
答案 1 :(得分:-1)
select count(1) into @cnt from table;
if (@cnt > 10) then
// do some stuff
end if;
而不是@cnt
您可以使用声明的变量