Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql तालिका को एक निश्चित आकार तक सीमित करना और सबसे पुरानी प्रविष्टियों को स्वचालित रूप से हटाना

मैं ट्रिगर्स का प्रस्ताव करता हूं। यह बीमा करने का सबसे अच्छा तरीका है कि प्रत्येक इंसर्ट में अधिकतम तालिका आकार को ध्यान में रखा जा रहा है।

संभावित डुप्लिकेट का मैं 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 स्टेटमेंट का उपयोग कर सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रश्न:प्रति आइटम एकाधिक समुच्चय गिनें

  2. विशिष्ट समय पर स्वचालित रूप से एक PHP स्क्रिप्ट निष्पादन शेड्यूल करें

  3. आप प्रत्येक क्वेरी पर पुन:कनेक्ट किए बिना PHP में MySQL से कुशलतापूर्वक कैसे कनेक्ट होते हैं?

  4. केवल एक तालिका से उपयोगकर्ताओं का चयन करें यदि दूसरे में नहीं

  5. शर्तों के आधार पर MYSQL क्वेरी के भीतर प्रतिशत की गणना करना