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

Cách INSERT INTO từ bảng này sang bảng khác và gán giá trị cố định cho một cột

Để chèn dữ liệu từ bảng nguồn vào bảng đích và đồng thời gán giá trị cố định cho một cột, dùng INSERT INTO ... SELECT với giá trị hằng số trong danh sách select.

Ví dụ minh họa

Tạo bảng nguồn:

CREATE TABLE insertOneToAnotherTable (Value INT);

INSERT INTO insertOneToAnotherTable VALUES (100), (200), (300), (400), (500), (600);

Tạo bảng đích có 2 cột:

CREATE TABLE recieveDateFromTable (
    Value1 INT,
    Value2 INT
);

Chèn từ bảng nguồn, cột Value2 gán cố định 1000:

INSERT INTO recieveDateFromTable (Value1, Value2)
SELECT Value, 1000 FROM insertOneToAnotherTable;

Kết quả bảng đích (6 hàng):

+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 100    | 1000   |
| 200    | 1000   |
| 300    | 1000   |
| 400    | 1000   |
| 500    | 1000   |
| 600    | 1000   |
+--------+--------+

Giải thích:

  • SELECT Value, 1000: cột Value lấy từ bảng nguồn, 1000 là hằng số gán cho mọi hàng.
  • Số cột và kiểu dữ liệu trong SELECT phải khớp với danh sách cột INSERT INTO (...).
  • Có thể dùng biểu thức phức tạp: SELECT Value, Value * 2, NOW() ....

Lưu ý: Nếu bảng đích có AUTO_INCREMENT cho cột không liệt kê trong INSERT, MySQL sẽ tự sinh giá trị.