テーブルへの新しいレコードの追加を制限してみてください。新しいレコードを追加するときにエラーを発生させます。
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 ;
大きなInnoDbテーブルではCOUNT操作が遅くなる可能性があることに注意してください。
MySQL 5.5では、シグナル を使用できます。 // 登録 エラーを発生させるステートメント。