Sử dụng câu lệnh UPDATE với điều kiện WHERE cotNguon IS NOT NULL để chỉ cập nhật khi cột nguồn có giá trị.
Ví dụ
Tạo bảng và chèn dữ liệu (có giá trị NULL):
mysql> create table DemoTable (
UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserFirstName varchar(20),
ListOfName varchar(20)
);
Query OK, 0 rows affected (0.59 sec)mysql> insert into DemoTable(UserFirstName,ListOfName) values('John','Larry');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable(UserFirstName,ListOfName) values('Carol',null);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(UserFirstName,ListOfName) values('David','Sam');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable(UserFirstName,ListOfName) values('Bob',null);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(UserFirstName,ListOfName) values(null,null);
Query OK, 1 row affected (0.18 sec)Dữ liệu ban đầu:
+--------+---------------+------------+ | UserId | UserFirstName | ListOfName | +--------+---------------+------------+ | 1 | John | Larry | | 2 | Carol | NULL | | 3 | David | Sam | | 4 | Bob | NULL | | 5 | NULL | NULL | +--------+---------------+------------+
Cập nhật có điều kiện
mysql> update DemoTable set UserFirstName=ListOfName where ListOfName is not null; Query OK, 2 rows affected (0.26 sec) Rows matched: 2 Changed: 2 Warnings: 0
Kết quả (chỉ hàng 1 và 3 được cập nhật):
+--------+---------------+------------+ | UserId | UserFirstName | ListOfName | +--------+---------------+------------+ | 1 | Larry | Larry | | 2 | Carol | NULL | | 3 | Sam | Sam | | 4 | Bob | NULL | | 5 | NULL | NULL | +--------+---------------+------------+