समाधान: UPDATE के साथ CONCAT()
किसी कॉलम के मौजूदा मान में टेक्स्ट जोड़ने (अनुलग्नक) के लिए CONCAT() फ़ंक्शन का उपयोग UPDATE स्टेटमेंट में करें।
सिंटैक्स
UPDATE yourTableName
SET yourColumnName = CONCAT(yourColumnName, 'textToAppend')
WHERE yourCondition;
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE addToExistingValueDemo (
-> Instructor_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Instructor_Name VARCHAR(30),
-> Instructor_TechnicalSubject TEXT
-> );
mysql> INSERT INTO addToExistingValueDemo(Instructor_Name, Instructor_TechnicalSubject) VALUES
-> ('John', 'C,C++'),
-> ('Carol', 'Java,Python'),
-> ('Bob', 'MySQL,SQL Server'),
-> ('David', 'DataStructure');
मूल डेटा
| Instructor_Id | Instructor_Name | Instructor_TechnicalSubject |
| 1 | John | C,C++ |
| 2 | Carol | Java,Python |
| 3 | Bob | MySQL,SQL Server |
| 4 | David | DataStructure |
David के विषय में टेक्स्ट जोड़ना
mysql> UPDATE addToExistingValueDemo
-> SET Instructor_TechnicalSubject = CONCAT(Instructor_TechnicalSubject, ', Introduction To Algorithm')
-> WHERE Instructor_Id = 4;
Query OK, 1 row affected (0.10 sec)
अद्यतन डेटा
| Instructor_Id | Instructor_Name | Instructor_TechnicalSubject |
| 1 | John | C,C++ |
| 2 | Carol | Java,Python |
| 3 | Bob | MySQL,SQL Server |
| 4 | David | DataStructure, Introduction To Algorithm |
महत्वपूर्ण नोट्स
CONCAT() NULL होने पर NULL लौटाता है - COALESCE() या IFNULL() का उपयोग करें
- बड़े टेक्स्ट के लिए
CONCAT_WS() (सेपरेटर के साथ) बेहतर हो सकता है
- WHERE क्लॉज के बिना सभी पंक्तियाँ अद्यतन हो जाएंगी
NULL सुरक्षित संस्करण
UPDATE yourTableName
SET yourColumnName = CONCAT(COALESCE(yourColumnName, ''), 'textToAppend')
WHERE yourCondition;