我正在尝试将一个表中的记录插入另一个表中,但也添加了非第二个表中的其他数据.
我正在尝试将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'.
您只需在select列表中包含常量:
INSERT INTO tableA(field1, field2, field3)
SELECT field1, field2, 'somevalue'
FROM tableB
WHERE id = '1';
Run Code Online (Sandbox Code Playgroud)
另外,不要select在括号中包围列.
| 归档时间: |
|
| 查看次数: |
4743 次 |
| 最近记录: |