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

Cập nhật dữ liệu trong bảng này từ dữ liệu của bảng khác trong MySQL

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     |
+-----------+----------+