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

निश्चित समय के बाद स्वचालित रूप से पंक्ति अपडेट करें

आपके पास उनके द्वारा चुने गए टाइमस्केल के आधार पर इसे प्रबंधित करने के लिए 2 विकल्प हैं।

  1. विज्ञापन के साथ समाप्ति समय संगृहीत करें और समाप्ति शामिल करें> अभी (); विज्ञापनों का चयन करने के लिए किसी भी प्रश्न में (इस प्रकार एक 'सक्रिय' फ़ील्ड की आवश्यकता को नकारता है।

  2. इसे प्रबंधित करने के लिए किसी ईवेंट का उपयोग करें।

विधि 1 के लिए कुछ व्यवस्थापकों को समय-समय पर 'विज्ञापनों को साफ' करने की आवश्यकता हो सकती है।

विधि 2 - आप अभी तक एक प्रक्रिया में ईवेंट नहीं बना सकते हैं (पिछली बार मैंने जाँच की थी) लेकिन वे आपको अन्य जाँचों और क्या-क्या नहीं चलाने के बिना इस तरह के व्यवस्थापक कर्तव्यों को सेट करने और भूलने की अनुमति देते हैं।

प्रत्येक ईवेंट का एक विशिष्ट नाम होना चाहिए अन्यथा आप पहले से निर्दिष्ट ईवेंट को समाप्त कर देंगे...

उदाहरण:

<?php

$qry = "insert into ads values ( 'x', 'y', 'z' );"; 
/* db execute qry (pdo or what ever) */
$adId = // retriev a unique reference for ad.
$days = $_POST['expire'] == 16 ? 16 : 8;

$qry = "CREATE EVENT updateAd_".$adId."
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL ".$days." DAY
    ON COMPLETION NOT PRESERVE
    DO
    update ads set active = 'false' where ad_id = ".$adId.";";
// db execute qry (pdo or what ever);
?>

ईवेंट को mysql डेटाबेस में संग्रहीत किया जाता है, न कि आपके अपने, इसलिए आपको लागू करने के लिए कुछ व्यवस्थापक स्तर की अनुमतियों की आवश्यकता होती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पहले MySql और Entity Framework 4.1 कोड का उपयोग कैसे करें

  2. mysql कनेक्टर क्यों टूट जाता है (क्वेरी त्रुटि के दौरान MySQL सर्वर से कनेक्शन टूट गया)

  3. MySQL इन्सर्ट एंड जॉइन

  4. मैं एक MySQL डेटाबेस में किसी तालिका की स्कीमा कैसे दिखाऊं?

  5. रेल 3.2.6 और डेटाबेस माइग्रेशन के माध्यम से निर्माण को देखता है