sql—在mysql中,如何在一个表中插入空值并从另一个表中选择*?

pokxtpni  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(262)

我在b表中有一个额外的(id ai)列,如何填充表中的所有数据并将id设置为null?

Table A
|---------------------|------------------|
|          id         |  EmployeeName    |
|---------------------|------------------|
|           1         |       ABC1       |
|---------------------|------------------|
|           2         |       ABC2       |
|---------------------|------------------|
|           3         |       ABC3       |
|---------------------|------------------|

Table B
|----------------------|---------------------|------------------|
|          id          |       empid         |  EmployeeName    |    
|----------------------|---------------------|------------------|
|                      |                     |                  |
|----------------------|---------------------|------------------|
|                      |                     |                  |
|----------------------|---------------------|------------------|
|                      |                     |                  |
|----------------------|---------------------|------------------|

这里我们只有2列,但假设有许多列对应于一个动态查询。
这是我要问的问题

insert into B (select null, * from A);
tnkciper

tnkciper1#

这样做应该:

INSERT INTO B (SELECT NULL, A.* FROM A);

您只需要附加表名 A. 去阿斯特里克斯。

8e2ybdfx

8e2ybdfx2#

您可以尝试只插入到b表中指定的列。然后,不存在的列将自动填充为null

INSERT INTO table2 (empid,EmployeeName)
SELECT Id,EmployeeName
FROM table1
WHERE condition;

相关问题