MySQL 如何仅使用另一个表中的字符串作为参考添加行
为此,请在MySQL中使用INSERT INTO SELECT语句。让我们创建一个表:
mysql> CREATE TABLE demo61
-> (
-> id INT,
-> name VARCHAR(20)
-> )
->;
Query OK,0 rows affected (1.84 sec)
使用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)
使用SELECT语句从表中显示记录:
mysql> SELECT *FROM demo61;
这将产生以下输出:
+------+-------+
| id | name |
+------+-------+
| 1 | John |
| 2 | David |
| 1 | Mike |
| 2 | Carol |
| 2 | Bob |
+------+-------+
5 rows in set (0.00 sec)
以下是创建第二个表的查询:
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)
使用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
使用SELECT语句从表中显示记录:
mysql> SELECT *FROM demo62;
这将产生以下输出:
+-------------+---------------+
| employee_id | employee_name |
+-------------+---------------+
| 1 | David |
| 2 | Carol |
| 3 | Bob |
+-------------+---------------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程