Sử dụng UPDATE kết hợp JOIN.
Tạo bảng demo54 (nguồn):
mysql> CREATE TABLE demo54 (
-> firstName VARCHAR(20),
-> lastName VARCHAR(20)
-> );
Chèn dữ liệu:
mysql> INSERT INTO demo54 VALUES('John','Smith');
mysql> INSERT INTO demo54 VALUES('John','Smith');
mysql> INSERT INTO demo54 VALUES('David','Smith');
Tạo bảng demo55 (đích, lastName ban đầu NULL):
mysql> CREATE TABLE demo55 (
-> firstName VARCHAR(20),
-> lastName VARCHAR(20)
-> );
Chèn dữ liệu:
mysql> INSERT INTO demo55(firstName) VALUES('John');
mysql> INSERT INTO demo55(firstName) VALUES('David');
mysql> INSERT INTO demo55(firstName) VALUES('Bob');
Hiển thị bảng đích trước khi cập nhật:
mysql> SELECT * FROM demo55;
+-----------+----------+
| firstName | lastName |
+-----------+----------+
| John | NULL |
| David | NULL |
| Bob | NULL |
+-----------+----------+
Cập nhật lastName trong demo55 từ demo54 dựa trên firstName:
mysql> UPDATE demo55 tbl1
-> JOIN demo54 tbl2 ON tbl1.firstName = tbl2.firstName
-> SET tbl1.lastName = tbl2.lastName;
Kết quả sau cập nhật:
mysql> SELECT * FROM demo55;
+-----------+----------+
| firstName | lastName |
+-----------+----------+
| John | Smith |
| David | Smith |
| Bob | NULL |
+-----------+----------+