且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何设置 MySQL 表中的最大行数?

更新时间: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.