आप अपने ईवेंट के मुख्य भाग को BEGIN ... END
कंपाउंड स्टेटमेंट ब्लॉक:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO BEGIN
SET @p=1;
UPDATE users SET rate = (@p:[email protected]+1) ORDER BY power DESC;
END
ध्यान दें कि प्रत्येक कथन को अर्धविराम के साथ समाप्त किया जाना चाहिए, इसलिए आपको अपने क्लाइंट को एक अलग कथन सीमांकक का उपयोग करने के लिए कॉन्फ़िगर करना होगा ताकि यह नहीं लगता कि पहली बार सामना किया गया अर्धविराम CREATE EVENT
का अंत है कमांड (यह कैसे करना है यह आपके क्लाइंट पर निर्भर करेगा, लेकिन MySQL कमांड लाइन टूल में
, आप DELIMITER
. का उपयोग कर सकते हैं कमांड
और phpMyAdmin में आप SQL इनपुट बॉक्स के नीचे सीमांकक सेट कर सकते हैं)।
वैकल्पिक रूप से, इस मामले में आप बहु-तालिका UPDATE
का उपयोग कर सकते हैं वैरिएबल इनिशियलाइज़ेशन करने के लिए सिंटैक्स जैसे कि आपको केवल एक साधारण स्टेटमेंट की आवश्यकता होती है:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO
UPDATE users, (SELECT @p:=0) init
SET users.rate = (@p:[email protected]+1)
ORDER BY users.power DESC