Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Nối chuỗi vào giá trị cột hiện tại với CONCAT trong MySQL

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ề NULL nếu bất kỳ đối số nào là NULL. Dùng COALESCE(cột, '') hoặc IFNULL(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);