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

Mysql में पहले और अंतिम नाम के आधार पर किसी नाम को ऑटो कैसे पॉप्युलेट करें?

आप एक इन्सर्ट ट्रिगर से पहले और अपडेट से पहले ट्रिगर नाम फ़ील्ड को CONCAT_WS(' ', first_name, Middle_name, last_name) के मान पर निम्नानुसार सेट करने के लिए... लेकिन ऐसा न करें। यह एक भयानक विचार है। नाम कॉलम को बिल्कुल भी स्टोर न करें। जब आप नाम का चयन करना चाहते हैं, तो बस CONCAT_WS(' ', first_name, Middle_name, last_name) AS full_name चुनें।

ध्यान दें कि CONCAT शून्य वापस आ जाएगा यदि आप जो मान जोड़ रहे हैं वह शून्य है, तो आप शायद इसके बजाय CONCAT_WS (विभाजक के साथ) का उपयोग करना चाहते हैं - यदि सूची में कोई मान शून्य है तो यह केवल उस मान को छोड़ देगा और शेष का उपयोग करेगा।

यदि आप ऐसा करने का निर्णय लेते हैं तो आपके ट्रिगर कुछ इस तरह दिख सकते हैं:

 CREATE TRIGGER name_update BEFORE UPDATE ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    END;

 CREATE TRIGGER name_insert BEFORE INSERT ON member
    FOR EACH ROW
    BEGIN
        SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
    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:उपयोगकर्ता के लिए डेटाबेस तक पहुँच अस्वीकृत

  2. MySQL दिनांक/समय मान को System.DateTime में बदलने में असमर्थ

  3. तालिका MySQL से अंतिम सम्मिलित आईडी कैसे प्राप्त करें?

  4. सेलेनियम स्क्रैपर (पायथन) का उपयोग करते समय% प्रतीक को हटा दें

  5. MySQL डेटाबेस टाइमज़ोन को GMT पर सेट करें