एक MySQL फ़ील्ड में शून्य मान होने से रोकने के लिए टेबल पर INSERT से पहले ट्रिगर का उपयोग करें। आइए पहले एक टेबल बनाएं -
mysql> तालिका बनाएं DemoTable(Value int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.85 सेकंड)
आइए MySQL फ़ील्ड में शून्य मान होने से रोकने के लिए एक ट्रिगर बनाएं -
mysql> DELIMITER //mysql> प्रत्येक पंक्ति के लिए DemoTable पर डालने से पहले ट्रिगर रोकने_to_insert_zero_value बनाएं यदि (new.Value =0) तो SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT ='आप 0 मान प्रदान नहीं कर सकते'; END if;end//Query OK, 0 पंक्तियाँ प्रभावित (0.34 सेकंड)mysql> DELIMITER;
आइए तालिका में 0 मान डालें और जांचें कि मान डाला जा रहा है या नहीं। यह अनुमति नहीं देगा -
mysql> डेमोटेबल मानों में डालें(0);त्रुटि 1644 (45000):आप 0 मान प्रदान नहीं कर सकते
तो, उपरोक्त तालिका में, आप ट्रिगर के कारण 0 मान सम्मिलित नहीं कर सकते। लेकिन, आप कुछ और मान डाल सकते हैं।
आइए अब इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल मानों में डालें(10);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)mysql> डेमोटेबल मानों में डालें(-1000);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.41 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
<पूर्व>+----------+| मूल्य |+----------+| 10 || -1000 |+----------+2 पंक्तियों में सेट (0.00 सेकंड)