Tôi đề xuất các trình kích hoạt. Đây là cách tốt nhất để đảm bảo rằng tại mỗi lần chèn, kích thước bảng tối đa đang được tính đến.
Có thể trùng lặp trong tổng số Làm cách nào để đặt số hàng tối đa trong bảng MySQL?
Từ câu trả lời được chấp nhận đó:
Cố gắng hạn chế việc thêm bản ghi mới vào bảng. Phát sinh lỗi khi một bản ghi mới sắp được thêm vào.
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 ;
Lưu ý, thao tác COUNT có thể chậm trên các bảng InnoDb lớn.
Trên MySQL 5.5, bạn có thể sử dụng câu lệnh SIGNAL để báo lỗi.