在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中文網其他相關文章!