नहीं। DEFAULT क्लॉज का मान स्थिर होना चाहिए। (इस नियम का एक अपवाद CURRENT_TIMESTAMP
. का उपयोग है TIMESTAMP
. के लिए डिफ़ॉल्ट मान के रूप में कॉलम।)
एक विकल्प के रूप में, जब कोई पंक्ति डाली जाती है या अद्यतन की जाती है, तो आप किसी स्तंभ के लिए मान सेट करने के लिए TRIGGER का उपयोग कर सकते हैं।
उदाहरण के लिए, प्रत्येक पंक्ति के लिए पहले डालें ट्रिगर के भीतर, आप अन्य स्तंभों के लिए दिए गए मानों और/या अन्य तालिकाओं के क्वेरी डेटा से गणना कर सकते हैं।
संपादित करें
प्रश्न के संपादन में दिए गए उदाहरण के लिए, ट्रिगर परिभाषा के लिए एक उदाहरण प्रारंभिक बिंदु:
CREATE TRIGGER mytable_bi
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
SET NEW.percentage = (100.0 * NEW.marks) / NULLIF(NEW.total_marks,0);
END