मैं ट्रिगर्स का प्रस्ताव करता हूं। यह बीमा करने का सबसे अच्छा तरीका है कि प्रत्येक इंसर्ट में अधिकतम तालिका आकार को ध्यान में रखा जा रहा है।
संभावित डुप्लिकेट का मैं 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 ;
ध्यान दें, बड़ी InnoDb टेबल पर COUNT ऑपरेशन धीमा हो सकता है।
MySQL 5.5 पर आप त्रुटि उत्पन्न करने के लिए SIGNAL स्टेटमेंट का उपयोग कर सकते हैं।