MySQL使用SELECT从另一个表中插入INTO以及其他数据

Amo*_*Amo 1 mysql

我正在努力实现的目标

我正在尝试将一个表中的记录插入另一个表中,但也添加了非第二个表中的其他数据.

示例问题

我正在尝试将insert field1,field2和field3放入tableA.field1和field2来自tableB.但是,field3是我将使用我的应用程序填充的一些额外的任意数据.

查询到目前为止

INSERT INTO tableA (field1, field2, field3) SELECT (field1, field2) FROM tableB WHERE id='1'
Run Code Online (Sandbox Code Playgroud)

问题

由于上述查询在查询中没有字段,因此此时未插入Field3.我试过了:

INSERT INTO tableA (field1, field2, field3) (SELECT (field1, field2) FROM tableB WHERE id='1'), 'somevalue';
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

我不希望将field3设置为NULL或空字符串.我需要填充该列,但是我需要使用来自INSERT范围之外的数据来填充它.在上面的例子中,它应该是'somevalue'.

Gor*_*off 7

您只需在select列表中包含常量:

INSERT INTO tableA(field1, field2, field3)
    SELECT field1, field2, 'somevalue'
    FROM tableB
    WHERE id = '1';
Run Code Online (Sandbox Code Playgroud)

另外,不要select在括号中包围列.