MySQL DEFAULT . में कंप्यूटेड कॉलम या एक्सप्रेशन का समर्थन नहीं करता है कॉलम परिभाषा का विकल्प।
आप इसे एक ट्रिगर (MySQL 5.0 या अधिक आवश्यक) में कर सकते हैं:
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END
आप BEFORE UPDATE . एक समान ट्रिगर बनाना भी चाह सकते हैं ।
NULL . से सावधान रहें अग्रनाम और उपनाम में, क्योंकि NULL . का संक्षिप्त रूप किसी भी अन्य स्ट्रिंग के साथ NULL produces उत्पन्न करता है . COALESCE() Use का उपयोग करें प्रत्येक कॉलम पर या उपयुक्त के रूप में संयोजित स्ट्रिंग पर।
संपादित करें: निम्न उदाहरण stage_name सेट करता है केवल तभी जब यह NULL हो . अन्यथा आप stage_name . निर्दिष्ट कर सकते हैं आपके INSERT . में बयान, और इसे संरक्षित किया जाएगा।
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
IF (NEW.stage_name IS NULL) THEN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END IF;
END