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

Cách UPDATE cột để nối thêm dữ liệu (append) trong MySQL

Sử dụng CONCAT() kết hợp IFNULL() để nối chuỗi vào cột, xử lý trường hợp cột là NULL.

Cú pháp:

UPDATE ten_bang SET ten_cot = CONCAT(IFNULL(ten_cot, ''), 'chuoi_noi');

Ví dụ: tạo bảng AppendDataDemo:

mysql> CREATE TABLE AppendDataDemo (
    -> StudentId INT,
    -> StudentName VARCHAR(100),
    -> StudentAge INT
    -> );

Chèn dữ liệu (có giá trị NULL):

mysql> INSERT INTO AppendDataDemo VALUES (101, 'John', 23);
mysql> INSERT INTO AppendDataDemo VALUES (102, NULL, 24);
mysql> INSERT INTO AppendDataDemo VALUES (103, 'Mike', 26);

Dữ liệu gốc:

mysql> SELECT * FROM AppendDataDemo;
+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
| 101       | John        | 23         |
| 102       | NULL        | 24         |
| 103       | Mike        | 26         |
+-----------+-------------+------------+

Nối chuỗi ' Carol,Sam,Maria' vào cột StudentName cho tất cả hàng:

mysql> UPDATE AppendDataDemo SET StudentName = CONCAT(IFNULL(StudentName, ''), ' Carol,Sam,Maria');

Kết quả:

mysql> SELECT * FROM AppendDataDemo;
+-----------+----------------------+------------+
| StudentId | StudentName          | StudentAge |
+-----------+----------------------+------------+
| 101       | John Carol,Sam,Maria | 23         |
| 102       | Carol,Sam,Maria      | 24         |
| 103       | Mike Carol,Sam,Maria | 26         |
+-----------+----------------------+------------+

IFNULL(cot, '') chuyển NULL thành chuỗi rỗng trước khi nối, tránh kết quả NULL (vì CONCAT với NULL trả về NULL).