Sử dụng hàm CONCAT() trong lệnh UPDATE để thêm nội dung vào cuối giá trị hiện có của cột.
Cú pháp
UPDATE tên_bảng SET tên_cột = CONCAT(tên_cột, 'chuỗi_cần_thêm') WHERE điều_kiện;
Ví dụ minh họa
Tạo bảng demo:
mysql> CREATE TABLE addToExistingValueDemo (
-> Instructor_Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Instructor_Name VARCHAR(30),
-> Instructor_TechnicalSubject TEXT
-> );
Query OK, 0 rows affected (0.54 sec)
Chèn dữ liệu:
mysql> INSERT INTO addToExistingValueDemo(Instructor_Name, Instructor_TechnicalSubject) VALUES
-> ('John', 'C,C++'),
-> ('Carol', 'Java,Python'),
-> ('Bob', 'MySQL,SQL Server'),
-> ('David', 'DataStructure');
Xem dữ liệu ban đầu:
mysql> SELECT * FROM addToExistingValueDemo;
+---------------+-----------------+-----------------------------+ | Instructor_Id | Instructor_Name | Instructor_TechnicalSubject | +---------------+-----------------+-----------------------------+ | 1 | John | C,C++ | | 2 | Carol | Java,Python | | 3 | Bob | MySQL,SQL Server | | 4 | David | DataStructure | +---------------+-----------------+-----------------------------+
Thêm ", Introduction To Algorithm" vào cột Instructor_TechnicalSubject của David (Id=4):
mysql> UPDATE addToExistingValueDemo
-> SET Instructor_TechnicalSubject = CONCAT(Instructor_TechnicalSubject, ', Introduction To Algorithm')
-> WHERE Instructor_Id = 4;
Query OK, 1 row affected (0.10 sec)
Kiểm tra kết quả:
mysql> SELECT * FROM addToExistingValueDemo;
+---------------+-----------------+------------------------------------------+ | 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 | +---------------+-----------------+------------------------------------------+
Lưu ý quan trọng
CONCAT()trả vềNULLnếu bất kỳ đối số nào là NULL. DùngCOALESCE(cột, '')hoặcIFNULL(cột, '')để an toàn:SET cột = CONCAT(COALESCE(cột, ''), 'chuỗi_mới')
CONCAT_WS(',', cột, 'giá_trị_mới')tự động bỏ qua NULL và thêm dấu phân cách
Thêm vào đầu chuỗi
SET cột = CONCAT('tiền_tố_', cột);