MySQL

2011-01-06 25 views
6

में वर्तमान दिनांक + 30 दिनों के रूप में डिफ़ॉल्ट मान डालने से मैं वर्तमान दिनांक के बराबर कॉलम का डिफ़ॉल्ट मान कैसे बना सकता हूं + MySQL में 30 दिन? उदाहरण के लिए, यदि वर्तमान दिनांक 10-1-2011 है तो कॉलम मान 9-2-2011 के रूप में डाला जाना चाहिए।MySQL

+2

कुछ पिछले उत्तरों को स्वीकार करें, आप प्रतिष्ठा अर्जित करेंगे और भविष्य में बेहतर उत्तर प्राप्त करेंगे। – fredley

उत्तर

6

आप MySQL> = 5.0 का उपयोग कर रहे हैं, एक ट्रिगर का उपयोग करें:

CREATE TRIGGER setDefaultDate 
    BEFORE INSERT ON tableName 
    FOR EACH ROW 
    SET NEW.date = ADDDATE(curdate(), INTERVAL 30 DAY); 

trigger जब आप tableName में डालने, date अब + 30 दिन की स्थापना सक्रिय कर देंगे। यदि आपका सम्मिलन दिनांक सेट करता है, तो यह BEFORE के कारण इस डिफ़ॉल्ट को ओवरराइड कर देगा। दिनांक ADDDATE का उपयोग करके गणना की जाती है।