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

Lấy ID lớn nhất từ bảng 1 chèn vào tất cả ID của bảng 2 với INSERT INTO SELECT

Tạo bảng 1:

mysql> CREATE TABLE DemoTable1 (
    Id INT,
    Name VARCHAR(100)
); Query OK, 0 rows affected (0.86 sec)

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1 VALUES(1001,'Chris'); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1 VALUES(999,'Robert'); Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1 VALUES(1003,'Mike');  Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable1 VALUES(1002,'Sam');   Query OK, 1 row affected (0.13 sec)

Tạo bảng 2:

mysql> CREATE TABLE DemoTable2 (
    StudentId INT,
    StudentFirstName VARCHAR(100)
); Query OK, 0 rows affected (1.15 sec)

Chèn vào bảng 2: StudentId = MAX(Id) từ bảng 1, Name lấy từ bảng 1:

mysql> INSERT INTO DemoTable2(StudentId,StudentFirstName) 
SELECT (SELECT MAX(Id) FROM DemoTable1), Name FROM DemoTable1;
Query OK, 4 rows affected (0.20 sec)

Kết quả bảng 2 (tất cả StudentId = 1003):

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
| 1003      | Chris            |
| 1003      | Robert           |
| 1003      | Mike             |
| 1003      | Sam              |
+-----------+------------------+
4 rows in set (0.00 sec)