更新时间:2023-01-22 09:36:25
尝试限制向表中添加新记录.将要添加新记录时引发错误.
Try to make a restriction on adding a new record to a table. Raise an error when a new record is going to be added.
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 ;
请注意,COUNT 操作在大型 InnoDb 表上可能会很慢.
Note, that COUNT operation may be slow on big InnoDb tables.
在 MySQL 5.5 上,您可以使用 SIGNAL//RESIGNAL 语句引发错误.
On MySQL 5.5 you can use SIGNAL // RESIGNAL statement to raise an error.