在 MySQL 表中实现硬行限制
问题:设计者经常面临需要对 MySQL 表中存储的行强制实施最大限制。除了指定提示之外,是否有明确的方法来实现此限制?
答案:设置最大行限制是一个常见的数据库挑战。虽然 MAX_ROWS 属性只是一个建议而不是绝对上限,但确实有一些方法可以对 MySQL 表施加硬限制:
基于触发器的机制:
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 表的速度。
MySQL 5.5 信号/重新信号语句:
Cron 脚本方法:
其他注意事项:
以上是如何在 MySQL 表中强制执行硬行限制?的详细内容。更多信息请关注PHP中文网其他相关文章!