Versuchen Sie, das Hinzufügen eines neuen Datensatzes zu einer Tabelle einzuschränken. Löst einen Fehler aus, wenn ein neuer Datensatz hinzugefügt wird.
DELIMITER $$
CREATE TRIGGER trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
SELECT COUNT(*) INTO @cnt FROM table1;
IF @cnt >= 25 THEN
CALL sth(); -- raise an error
END IF;
END
$$
DELIMITER ;
Beachten Sie, dass die COUNT-Operation bei großen InnoDb-Tabellen langsam sein kann.
Unter MySQL 5.5 können Sie SIGNAL verwenden // RÜCKTRITT Anweisung, um einen Fehler auszulösen.