Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL - स्ट्रिंग कॉन्सटेनेशन फ़ंक्शन के रूप में फ़ील्ड के लिए डिफ़ॉल्ट मान सेट करें

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक दिनांक कॉलम के साथ mysql में unpivot पर सहायता चाहिए

  2. Neo4j - Cypher . का उपयोग करके एक संबंध हटाएं

  3. हाइबरनेट - अद्वितीय कॉलम बाधा को अनदेखा किया जा रहा है

  4. क्रॉन जॉब का उपयोग करके दैनिक डेटाबेस बैकअप

  5. मैपबॉक्स जावास्क्रिप्ट एपीआई के साथ उपयोग करने के लिए MySql से php में एक GeoJson बनाना