Tóm tắt
Có thể thêm cột mới vào bảng A, sau đó UPDATE kết hợp JOIN với bảng B để điền dữ liệu từ cột của B.
Các bước
1. Tạo 2 bảng
CREATE TABLE FirstTable (UserId INT, UserName VARCHAR(20));
CREATE TABLE SecondTable (UserId INT, UserAge INT);
2. Thêm cột Age vào FirstTable
ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0;
3. UPDATE JOIN để copy dữ liệu
UPDATE FirstTable t1
INNER JOIN SecondTable t2 ON t1.UserId = t2.UserId
SET t1.Age = t2.UserAge;
4. Kết quả DESC
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| UserId | int(11) | YES | | NULL | |
| UserName | varchar(20) | YES | | NULL | |
| Age | tinyint(3) unsigned | YES | | 0 | |
+----------+---------------------+------+-----+---------+-------+
Lưu ý
- JOIN chỉ cập nhật hàng có khóa khớp – hàng không khớp giữ DEFAULT (0).
- Dùng
LEFT JOINnếu muốn giữ tất cả hàng bảng A (NULL cho không khớp). - Có thể thêm nhiều cột cùng lúc:
ADD COLUMN Age ..., ADD COLUMN City ...rồi UPDATE nhiều cột. - Đảm bảo kiểu dữ liệu tương thích (INT → TINYINT UNSIGNED có thể cắt bớt).