Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để thêm một hàng vào một bảng chỉ bằng cách sử dụng các chuỗi từ một bảng khác làm tham chiếu trong MySQL?

Đối với điều này, hãy sử dụng câu lệnh INSERT INTO SELECT trong MySQL. Hãy để chúng tôi tạo một bảng -

mysql> create table demo61
−> (
−> id int,
−> name varchar(20)
−> )
−> ;
Query OK, 0 rows affected (1.84 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo61 values(1,'John');
Query OK, 1 row affected (0.63 sec)

mysql> insert into demo61 values(2,'David');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo61 values(1,'Mike');
Query OK, 1 row affected (0.10 sec)

mysql> insert into demo61 values(2,'Carol');
Query OK, 1 row affected (0.30 sec)

mysql> insert into demo61 values(2,'Bob');
Query OK, 1 row affected (0.09 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo61;

Điều này sẽ tạo ra kết quả sau -

+------+-------+
| id   | name  |
+------+-------+
|    1 | John  |
|    2 | David |
|    1 | Mike  |
|    2 | Carol |
|    2 | Bob   |
+------+-------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để tạo bảng thứ hai.

mysql> create table demo62
-> (
−> employee_id int not null auto_increment primary key,
−> employee_name varchar(20)
−> );
Query OK, 0 rows affected (1.60 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo62(employee_name)
−> select name from demo61 where id=2;
Query OK, 3 rows affected (0.14 sec)
Records: 3 Duplicates: 0 Warnings: 0

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo62;

Điều này sẽ tạo ra kết quả sau -

+-------------+---------------+
| employee_id | employee_name |
+-------------+---------------+
| 1           | David         |
| 2           | Carol         |
| 3           | Bob           |
+-------------+---------------+
3 rows in set (0.00 sec)