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