Mysql 创建插入后删除的触发器

Mysql 创建插入后删除的触发器,mysql,sql,Mysql,Sql,我想创建一个触发器,当值大于一个数字时,它将删除我插入的任何新行,例如8 我试过这个: DELIMITER | CREATE TRIGGER mytrigger AFTER INSERT ON mytab FOR EACH ROW BEGIN DELETE FROM mytab WHERE myparameter > 8; END | DELIMITER ; 我试图: INSERT INTO mytab VALUES (9); 这是错误消息:

我想创建一个触发器,当值大于一个数字时,它将删除我插入的任何新行,例如8

我试过这个:

DELIMITER |
CREATE TRIGGER mytrigger AFTER INSERT ON mytab
    FOR EACH ROW 
    BEGIN
        DELETE FROM mytab WHERE myparameter > 8;
    END
|

DELIMITER ;
我试图:

INSERT INTO mytab VALUES (9);
这是错误消息:

#1442 - Can't update table 'mytab' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 
如果我提出:

INSERT INTO mytab VALUES (4);
它运行相同的错误


谢谢

不要删除!仅在插入时产生错误:

DELIMITER |
CREATE TRIGGER mytrigger BEFORE INSERT ON mytab
    FOR EACH ROW 
    BEGIN
        IF new.myparameter > 8 THEN
             signal sqlstate '45000' set message_text = 'Parameter value can be no larger than 8';
        END IF;
    END
|

DELIMITER ;

您不能在运行触发器的同一个表上执行insert/update/delete操作。有什么问题吗?您需要提供更多信息:错误消息将是一个好的开始。您还没有删除删除:P的行,非常感谢Gordon!!